Exemple #1
0
        private IEnumerable <Translation> GetTranslations()
        {
            ItemFilter languageFilter = new CompositeFilter(new AccessFilter(), new PublishedFilter());
            IEnumerable <ContentItem> translations = _languageGateway.FindTranslations(Find.ClosestStartPage);

            foreach (ContentItem translation in languageFilter.Pipe(translations))
            {
                ILanguage language = _languageGateway.GetLanguage(translation);

                // Hide translations when filtered access to their language
                ContentItem languageItem = language as ContentItem;
                if (languageItem == null || languageFilter.Match(languageItem))
                {
                    yield return(new Translation(translation, language));
                }
            }
        }