public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilegeSet)
    {
        $ns = '{'.self::NS_CALDAV.'}';
        if ($node instanceof IOutbox) {
            $supportedPrivilegeSet[$ns.'schedule-send'] = [
                'abstract' => false,
                'aggregates' => [
                    $ns.'schedule-send-invite' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                    $ns.'schedule-send-reply' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                    $ns.'schedule-send-freebusy' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                    // Privilege from an earlier scheduling draft, but still
                    // used by some clients.
                    $ns.'schedule-post-vevent' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                ],
            ];
        }
        if ($node instanceof IInbox) {
            $supportedPrivilegeSet[$ns.'schedule-deliver'] = [
                'abstract' => false,
                'aggregates' => [
                    $ns.'schedule-deliver-invite' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                    $ns.'schedule-deliver-reply' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                    $ns.'schedule-query-freebusy' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                ],
            ];
        }
    }
public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilegeSet)
    {
        $ns = '{'.self::NS_CALDAV.'}';
        if ($node instanceof IOutbox) {
            $supportedPrivilegeSet[$ns.'schedule-send'] = [
                'abstract' => false,
                'aggregates' => [
                    $ns.'schedule-send-invite' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                    $ns.'schedule-send-reply' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                    $ns.'schedule-send-freebusy' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                    // Privilege from an earlier scheduling draft, but still
                    // used by some clients.
                    $ns.'schedule-post-vevent' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                ],
            ];
        }
        if ($node instanceof IInbox) {
            $supportedPrivilegeSet[$ns.'schedule-deliver'] = [
                'abstract' => false,
                'aggregates' => [
                    $ns.'schedule-deliver-invite' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                    $ns.'schedule-deliver-reply' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                    $ns.'schedule-query-freebusy' => [
                        'abstract' => false,
                        'aggregates' => [],
                    ],
                ],
            ];
        }
    }
public function getSupportedPrivilegeSet ( INode $ node , array & $ supportedPrivilegeSet ) { $ ns = '{' . self :: NS_CALDAV . '}' ; if ( $ node instanceof IOutbox ) { $ supportedPrivilegeSet [ $ ns . 'schedule-send' ] = [ 'abstract' => false , 'aggregates' => [ $ ns . 'schedule-send-invite' => [ 'abstract' => false , 'aggregates' => [ ] , ] , $ ns . 'schedule-send-reply' => [ 'abstract' => false , 'aggregates' => [ ] , ] , $ ns . 'schedule-send-freebusy' => [ 'abstract' => false , 'aggregates' => [ ] , ] , // Privilege from an earlier scheduling draft, but still // used by some clients. $ ns . 'schedule-post-vevent' => [ 'abstract' => false , 'aggregates' => [ ] , ] , ] , ] ; } if ( $ node instanceof IInbox ) { $ supportedPrivilegeSet [ $ ns . 'schedule-deliver' ] = [ 'abstract' => false , 'aggregates' => [ $ ns . 'schedule-deliver-invite' => [ 'abstract' => false , 'aggregates' => [ ] , ] , $ ns . 'schedule-deliver-reply' => [ 'abstract' => false , 'aggregates' => [ ] , ] , $ ns . 'schedule-query-freebusy' => [ 'abstract' => false , 'aggregates' => [ ] , ] , ] , ] ; } }
This method is triggered whenever a subsystem requests the privileges
that are supported on a particular node.

We need to add a number of privileges for scheduling purposes.

@param INode $node
@param array $supportedPrivilegeSet
This method is triggered whenever a subsystem requests the privileges that are supported on a particular node .