private string handleAssociateExistingSubmit(CmsPage aggPage, int aggIdentifier, CmsLanguage aggLang, string controlId, List <FileAggItem> filesToShow, CmsUrlFormat pageLinkUrlFormat, CmsUrlFormat fileLinkUrlFormat) { if (PageUtils.getFromForm(controlId + "action", "") != "associateFile") { return(""); } int pageIdToAssociate = PageUtils.getFromForm(controlId + "AssociatePageId", -1); CmsPage pageToAssociate = CmsContext.getPageById(pageIdToAssociate); if (pageToAssociate.ID >= 0) { CmsPlaceholderDefinition[] phDefs = pageToAssociate.getPlaceholderDefinitions("FileLibraryDetails"); foreach (CmsPlaceholderDefinition phDef in phDefs) { bool b = new filelibraryaggregator2Db().AssociateDetailsPageWithAggregator(aggPage, aggIdentifier, aggLang, pageToAssociate, phDef.Identifier, aggLang); if (!b) { return(formatErrorMsg("Error: could not add '" + pageToAssociate.Title + "' to this listing: there was a database error")); } } // foreach List <FileLibraryDetailsData> arr = db.fetchDetailsData(pageToAssociate); filesToShow.AddRange(FileAggItem.FromFileLibraryDetailsData(arr.ToArray(), base.categoryList, pageLinkUrlFormat, fileLinkUrlFormat)); } return(""); }
private FileAggItem[] FetchManuallyLinkedFileLibraryDetails(CmsPage aggregatorPage, int aggIdentifier, CmsLanguage aggLang, RenderParameters renderParams, CmsUrlFormat pageLinkUrlFormat, CmsUrlFormat fileLinkUrlFormat) { List <CmsPage> pages = new List <CmsPage>(); int[] linkedPageIds = new filelibraryaggregator2Db().FetchPageIdsAssociatedWithPage(aggregatorPage, aggIdentifier, aggLang); foreach (int linkedPageId in linkedPageIds) { if (!CmsPage.ArrayContainsPageId(pages.ToArray(), linkedPageId)) { pages.Add(CmsContext.getPageById(linkedPageId)); } } // foreach List <FileLibraryDetailsData> filesToShow = db.fetchDetailsData(pages.ToArray(), aggLang); return(FileAggItem.FromFileLibraryDetailsData(filesToShow.ToArray(), base.categoryList, pageLinkUrlFormat, fileLinkUrlFormat)); }