public string getGalleryView(SingleImageGalleryPlaceholderData placeholderData, SingleImageData[] imageDatas, CmsPage[] pagesToGatherImagesFrom, CmsLanguage langToRenderFor) { if (imageDatas.Length == 0) { return("<p><strong>There currently aren't any images to view in this gallery</strong></p>"); } StringBuilder html = new StringBuilder(); string pagerHtml = getThumbnailPagerOutput(imageDatas, placeholderData); html.Append("<p>" + pagerHtml + "</p>"); int startAtItemNumber = PageUtils.getFromForm("gn", 0); if (startAtItemNumber >= imageDatas.Length) { startAtItemNumber = imageDatas.Length - 1; } int endAt = Math.Min(startAtItemNumber + placeholderData.NumThumbsPerPage - 1, imageDatas.Length - 1); if (startAtItemNumber == 0 && endAt == 0 && imageDatas.Length == 1) { html.Append(renderThumbnail(placeholderData, imageDatas[0], langToRenderFor)); } else { html.Append("<table>" + Environment.NewLine); bool rowStarted = false; for (int i = startAtItemNumber; i <= endAt; i++) { if (endAt <= 0) { break; } if (i % placeholderData.NumThumbsPerRow == 0) { if (rowStarted) { html.Append("</tr>" + Environment.NewLine); } html.Append("<tr>" + Environment.NewLine); rowStarted = true; } SingleImageData image = imageDatas[i]; html.Append("<td>"); html.Append(renderThumbnail(placeholderData, image, langToRenderFor)); if (CmsContext.currentPage.currentUserCanWrite) { CmsPage pageContainingImage = image.getPageContainingImage(pagesToGatherImagesFrom); if (pageContainingImage != null) { html.Append("<br />"); html.Append("<a title=\"found on page '" + pageContainingImage.Title.Replace("\"", "") + "'\" href=\"" + pageContainingImage.Url + "\">( found here )</a>"); } } html.Append("</td>" + Environment.NewLine); } // for if (rowStarted) { html.Append("</tr>"); } html.Append("</table>" + Environment.NewLine); } // else html.Append("<p>" + pagerHtml + "</p>"); return(html.ToString()); } // RenderView