/** * * @param string ObjectClassInterface * @param Entry * @return Entry */ private function applyClass($objectClass, Entry $entry) { $obj = $this->getObjectClassInstance($objectClass); foreach ($obj->objectClasses() as $className) { $classAttr = new TextAttribute('objectClass', $className); $entry->attrs()->add($classAttr); } $this->availableAttributes = array_merge($this->availableAttributes, $obj->availableAttributes()); }
/** * @return Entry */ public function copy($newDn) { $entry = new Entry($newDn); foreach ($this->attrs() as $attr) { if (strcasecmp($attr->getName(), $entry->rdn()->getName()) === 0) { continue; } $entry->attrs()->add(clone $attr); } return $entry; }
/** * @param array $row * @return \Mangati\Ldap\Entry\Entry */ private function parseArray(array $row) { $dn = $row['dn']; $entry = new Entry($dn); for ($j = 0; $j < $row['count']; $j++) { $attrName = $row[$j]; if (strcasecmp($attrName, $entry->rdn()->getName()) === 0) { continue; } $values = $row[$attrName]; for ($k = 0; $k < $values['count']; $k++) { $value = $values[$k]; $attr = new TextAttribute($attrName, $value); $entry->attrs()->add($attr); } } return $entry; }