public function propPatch($path, DAV\PropPatch $propPatch)
    {
        $propPatch->handle('{DAV:}group-member-set', function ($value) use ($path) {
            if (is_null($value)) {
                $memberSet = [];
            } elseif ($value instanceof Href) {
                $memberSet = array_map(
                    [$this->server, 'calculateUri'],
                    $value->getHrefs()
                );
            } else {
                throw new DAV\Exception('The group-member-set property MUST be an instance of Sabre\DAV\Property\HrefList or null');
            }
            $node = $this->server->tree->getNodeForPath($path);
            if (!($node instanceof IPrincipal)) {
                // Fail
                return false;
            }

            $node->setGroupMemberSet($memberSet);
            // We must also clear our cache, just in case

            $this->principalMembershipCache = [];

            return true;
        });
    }
public function propPatch($path, DAV\PropPatch $propPatch)
    {
        $propPatch->handle('{DAV:}group-member-set', function ($value) use ($path) {
            if (is_null($value)) {
                $memberSet = [];
            } elseif ($value instanceof Href) {
                $memberSet = array_map(
                    [$this->server, 'calculateUri'],
                    $value->getHrefs()
                );
            } else {
                throw new DAV\Exception('The group-member-set property MUST be an instance of Sabre\DAV\Property\HrefList or null');
            }
            $node = $this->server->tree->getNodeForPath($path);
            if (!($node instanceof IPrincipal)) {
                // Fail
                return false;
            }

            $node->setGroupMemberSet($memberSet);
            // We must also clear our cache, just in case

            $this->principalMembershipCache = [];

            return true;
        });
    }
public function propPatch ( $ path , DAV \ PropPatch $ propPatch ) { $ propPatch -> handle ( '{DAV:}group-member-set' , function ( $ value ) use ( $ path ) { if ( is_null ( $ value ) ) { $ memberSet = [ ] ; } elseif ( $ value instanceof Href ) { $ memberSet = array_map ( [ $ this -> server , 'calculateUri' ] , $ value -> getHrefs ( ) ) ; } else { throw new DAV \ Exception ( 'The group-member-set property MUST be an instance of Sabre\DAV\Property\HrefList or null' ) ; } $ node = $ this -> server -> tree -> getNodeForPath ( $ path ) ; if ( ! ( $ node instanceof IPrincipal ) ) { // Fail return false ; } $ node -> setGroupMemberSet ( $ memberSet ) ; // We must also clear our cache, just in case $ this -> principalMembershipCache = [ ] ; return true ; } ) ; }
This method intercepts PROPPATCH methods and make sure the
group-member-set is updated correctly.

@param string        $path
@param DAV\PropPatch $propPatch
This method intercepts PROPPATCH methods and make sure the group - member - set is updated correctly .