private function mapResourceType(array $resourceTypes, $node)
    {
        if (!$resourceTypes) {
            if ($node instanceof DAV\IFile) {
                return [
                    'string' => 'File',
                    'icon' => 'file',
                ];
            } else {
                return [
                    'string' => 'Unknown',
                    'icon' => 'cog',
                ];
            }
        }

        $types = [
            '{http://calendarserver.org/ns/}calendar-proxy-write' => [
                'string' => 'Proxy-Write',
                'icon' => 'people',
            ],
            '{http://calendarserver.org/ns/}calendar-proxy-read' => [
                'string' => 'Proxy-Read',
                'icon' => 'people',
            ],
            '{urn:ietf:params:xml:ns:caldav}schedule-outbox' => [
                'string' => 'Outbox',
                'icon' => 'inbox',
            ],
            '{urn:ietf:params:xml:ns:caldav}schedule-inbox' => [
                'string' => 'Inbox',
                'icon' => 'inbox',
            ],
            '{urn:ietf:params:xml:ns:caldav}calendar' => [
                'string' => 'Calendar',
                'icon' => 'calendar',
            ],
            '{http://calendarserver.org/ns/}shared-owner' => [
                'string' => 'Shared',
                'icon' => 'calendar',
            ],
            '{http://calendarserver.org/ns/}subscribed' => [
                'string' => 'Subscription',
                'icon' => 'calendar',
            ],
            '{urn:ietf:params:xml:ns:carddav}directory' => [
                'string' => 'Directory',
                'icon' => 'globe',
            ],
            '{urn:ietf:params:xml:ns:carddav}addressbook' => [
                'string' => 'Address book',
                'icon' => 'book',
            ],
            '{DAV:}principal' => [
                'string' => 'Principal',
                'icon' => 'person',
            ],
            '{DAV:}collection' => [
                'string' => 'Collection',
                'icon' => 'folder',
            ],
        ];

        $info = [
            'string' => [],
            'icon' => 'cog',
        ];
        foreach ($resourceTypes as $k => $resourceType) {
            if (isset($types[$resourceType])) {
                $info['string'][] = $types[$resourceType]['string'];
            } else {
                $info['string'][] = $resourceType;
            }
        }
        foreach ($types as $key => $resourceInfo) {
            if (in_array($key, $resourceTypes)) {
                $info['icon'] = $resourceInfo['icon'];
                break;
            }
        }
        $info['string'] = implode(', ', $info['string']);

        return $info;
    }
private function mapResourceType(array $resourceTypes, $node)
    {
        if (!$resourceTypes) {
            if ($node instanceof DAV\IFile) {
                return [
                    'string' => 'File',
                    'icon' => 'file',
                ];
            } else {
                return [
                    'string' => 'Unknown',
                    'icon' => 'cog',
                ];
            }
        }

        $types = [
            '{http://calendarserver.org/ns/}calendar-proxy-write' => [
                'string' => 'Proxy-Write',
                'icon' => 'people',
            ],
            '{http://calendarserver.org/ns/}calendar-proxy-read' => [
                'string' => 'Proxy-Read',
                'icon' => 'people',
            ],
            '{urn:ietf:params:xml:ns:caldav}schedule-outbox' => [
                'string' => 'Outbox',
                'icon' => 'inbox',
            ],
            '{urn:ietf:params:xml:ns:caldav}schedule-inbox' => [
                'string' => 'Inbox',
                'icon' => 'inbox',
            ],
            '{urn:ietf:params:xml:ns:caldav}calendar' => [
                'string' => 'Calendar',
                'icon' => 'calendar',
            ],
            '{http://calendarserver.org/ns/}shared-owner' => [
                'string' => 'Shared',
                'icon' => 'calendar',
            ],
            '{http://calendarserver.org/ns/}subscribed' => [
                'string' => 'Subscription',
                'icon' => 'calendar',
            ],
            '{urn:ietf:params:xml:ns:carddav}directory' => [
                'string' => 'Directory',
                'icon' => 'globe',
            ],
            '{urn:ietf:params:xml:ns:carddav}addressbook' => [
                'string' => 'Address book',
                'icon' => 'book',
            ],
            '{DAV:}principal' => [
                'string' => 'Principal',
                'icon' => 'person',
            ],
            '{DAV:}collection' => [
                'string' => 'Collection',
                'icon' => 'folder',
            ],
        ];

        $info = [
            'string' => [],
            'icon' => 'cog',
        ];
        foreach ($resourceTypes as $k => $resourceType) {
            if (isset($types[$resourceType])) {
                $info['string'][] = $types[$resourceType]['string'];
            } else {
                $info['string'][] = $resourceType;
            }
        }
        foreach ($types as $key => $resourceInfo) {
            if (in_array($key, $resourceTypes)) {
                $info['icon'] = $resourceInfo['icon'];
                break;
            }
        }
        $info['string'] = implode(', ', $info['string']);

        return $info;
    }
private function mapResourceType ( array $ resourceTypes , $ node ) { if ( ! $ resourceTypes ) { if ( $ node instanceof DAV \ IFile ) { return [ 'string' => 'File' , 'icon' => 'file' , ] ; } else { return [ 'string' => 'Unknown' , 'icon' => 'cog' , ] ; } } $ types = [ '{http://calendarserver.org/ns/}calendar-proxy-write' => [ 'string' => 'Proxy-Write' , 'icon' => 'people' , ] , '{http://calendarserver.org/ns/}calendar-proxy-read' => [ 'string' => 'Proxy-Read' , 'icon' => 'people' , ] , '{urn:ietf:params:xml:ns:caldav}schedule-outbox' => [ 'string' => 'Outbox' , 'icon' => 'inbox' , ] , '{urn:ietf:params:xml:ns:caldav}schedule-inbox' => [ 'string' => 'Inbox' , 'icon' => 'inbox' , ] , '{urn:ietf:params:xml:ns:caldav}calendar' => [ 'string' => 'Calendar' , 'icon' => 'calendar' , ] , '{http://calendarserver.org/ns/}shared-owner' => [ 'string' => 'Shared' , 'icon' => 'calendar' , ] , '{http://calendarserver.org/ns/}subscribed' => [ 'string' => 'Subscription' , 'icon' => 'calendar' , ] , '{urn:ietf:params:xml:ns:carddav}directory' => [ 'string' => 'Directory' , 'icon' => 'globe' , ] , '{urn:ietf:params:xml:ns:carddav}addressbook' => [ 'string' => 'Address book' , 'icon' => 'book' , ] , '{DAV:}principal' => [ 'string' => 'Principal' , 'icon' => 'person' , ] , '{DAV:}collection' => [ 'string' => 'Collection' , 'icon' => 'folder' , ] , ] ; $ info = [ 'string' => [ ] , 'icon' => 'cog' , ] ; foreach ( $ resourceTypes as $ k => $ resourceType ) { if ( isset ( $ types [ $ resourceType ] ) ) { $ info [ 'string' ] [ ] = $ types [ $ resourceType ] [ 'string' ] ; } else { $ info [ 'string' ] [ ] = $ resourceType ; } } foreach ( $ types as $ key => $ resourceInfo ) { if ( in_array ( $ key , $ resourceTypes ) ) { $ info [ 'icon' ] = $ resourceInfo [ 'icon' ] ; break ; } } $ info [ 'string' ] = implode ( ', ' , $ info [ 'string' ] ) ; return $ info ; }
Maps a resource type to a human-readable string and icon.

@param array     $resourceTypes
@param DAV\INode $node

@return array
Maps a resource type to a human - readable string and icon .