<?php namespace nur\ldap\io; use nur\A; use nur\ldap\LdapObject; /** * Class LdifWriter */ class LdifWriter extends LdapWriter { function write(?LdapObject $object, ?array $names=null): self { if ($object !== null) { $writer = $this->writer; if ($names === null) $names = $object->keys(); if (!in_array("dn", $names)) { A::insert($names, 0, "dn"); } foreach ($names as $name) { $values = $object->_get($name)->array(); if ($values !== null) { foreach ($values as $value) { $writer->wnl("$name: $value"); } } } $writer->wnl(); } return $this; } }