LdapTools\Security\SecurityDescriptor::decodeFromBinary PHP Method

decodeFromBinary() protected method

protected decodeFromBinary ( string $descriptor )
$descriptor string
    protected function decodeFromBinary($descriptor)
    {
        $descriptor = bin2hex($descriptor);
        $this->revision = hexdec(substr($descriptor, 0, 2));
        $this->rmControlFlags = new Flags(hexdec(substr($descriptor, 2, 2)));
        $this->controlFlags = new ControlFlags($this->hexUShort16Le2Int(substr($descriptor, 4, 4)));
        $offsetOwner = $this->hexULong32Le2int(substr($descriptor, 8, 8)) * 2;
        $offsetGroup = $this->hexULong32Le2int(substr($descriptor, 16, 8)) * 2;
        $offsetSacl = $this->hexULong32Le2int(substr($descriptor, 24, 8)) * 2;
        $offsetDacl = $this->hexULong32Le2int(substr($descriptor, 32, 8)) * 2;
        if ($offsetOwner !== 0) {
            $this->owner = new SID(hex2bin(substr($descriptor, $offsetOwner)));
        }
        if ($offsetGroup !== 0) {
            $this->group = new SID(hex2bin(substr($descriptor, $offsetGroup)));
        }
        if ($offsetSacl !== 0) {
            $this->sacl = new Sacl(hex2bin(substr($descriptor, $offsetSacl)));
        }
        if ($offsetDacl !== 0) {
            $this->dacl = new Dacl(hex2bin(substr($descriptor, $offsetDacl)));
        }
    }