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));
        }