protected function parseAccessControlList($list)
    {
        $permissions = [];

        // Matches between two parenthesis.
        preg_match_all('/\((.*?)\)/', $list, $matches);

        // Make sure we have resulting matches.
        if (is_array($matches) && count($matches) > 0) {
            // Matches inside the first key will have parenthesis
            // already removed, so we need to verify it exists.
            if (array_key_exists(1, $matches) && is_array($matches[1])) {
                // We'll go through each match and see if the ACE
                // exists inside the permissions definition list.
                foreach ($matches[1] as $definition) {
                    // We'll merge the permissions list so we have a flat array
                    // of all of the rights for the current account.
                    $permissions = array_merge($permissions, $this->parseDefinitionRights($definition));
                }
            }
        }

        return $permissions;
    }
protected function parseAccessControlList($list)
    {
        $permissions = [];

        // Matches between two parenthesis.
        preg_match_all('/\((.*?)\)/', $list, $matches);

        // Make sure we have resulting matches.
        if (is_array($matches) && count($matches) > 0) {
            // Matches inside the first key will have parenthesis
            // already removed, so we need to verify it exists.
            if (array_key_exists(1, $matches) && is_array($matches[1])) {
                // We'll go through each match and see if the ACE
                // exists inside the permissions definition list.
                foreach ($matches[1] as $definition) {
                    // We'll merge the permissions list so we have a flat array
                    // of all of the rights for the current account.
                    $permissions = array_merge($permissions, $this->parseDefinitionRights($definition));
                }
            }
        }

        return $permissions;
    }
protected function parseAccessControlList ( $ list ) { $ permissions = [ ] ; // Matches between two parenthesis. preg_match_all ( '/\((.*?)\)/' , $ list , $ matches ) ; // Make sure we have resulting matches. if ( is_array ( $ matches ) && count ( $ matches ) > 0 ) { // Matches inside the first key will have parenthesis // already removed, so we need to verify it exists. if ( array_key_exists ( 1 , $ matches ) && is_array ( $ matches [ 1 ] ) ) { // We'll go through each match and see if the ACE // exists inside the permissions definition list. foreach ( $ matches [ 1 ] as $ definition ) { // We'll merge the permissions list so we have a flat array // of all of the rights for the current account. $ permissions = array_merge ( $ permissions , $ this -> parseDefinitionRights ( $ definition ) ) ; } } } return $ permissions ; }
Parses an access control list string into
an array of Permission objects.

@param string $list

@return array
Parses an access control list string into an array of Permission objects .