LdapTools\Security\SddlParser::parseAce PHP Method

parseAce() protected method

protected parseAce ( string $sddl ) : Ace
$sddl string
return LdapTools\Security\Ace\Ace
    protected function parseAce($sddl)
    {
        preg_match(self::MATCH_ACE, $sddl, $matches);
        $type = new AceType($matches[1]);
        if (!empty($matches[2])) {
            $flags = new AceFlags($this->getSddlFlagValue($matches[2], AceFlags::SHORT_NAME, 'flag'));
        } else {
            $flags = new AceFlags();
        }
        $rights = new AceRights($this->getSddlFlagValue($matches[3], AceRights::SHORT_NAME, 'right'));
        $objectType = empty($matches[4]) ? null : new GUID($matches[4]);
        $inheritedObjectType = empty($matches[5]) ? null : new GUID($matches[5]);
        $sid = $this->getSid($matches[6], 'ACE trustee');
        return (new Ace($type))->setFlags($flags)->setRights($rights)->setObjectType($objectType)->setInheritedObjectType($inheritedObjectType)->setTrustee($sid);
    }