示例#1
0
        private void ExportSiteMembership(Site rootSiteExported, Site site, ZipFile zipFile, bool includeSubSites)
        {
            site = Get(site);

            if (!string.IsNullOrEmpty(site.Membership))
            {
                if (site.Parent == null || (site.Parent != null &&
                                            !Get(site.Parent).Membership.EqualsOrNullEmpty(site.Membership, StringComparison.CurrentCultureIgnoreCase)))
                {
                    MemoryStream ms = new MemoryStream();

                    _membershipProvider.Export(site.GetMembership(), ms);

                    if (ms.Length > 0)
                    {
                        ms.Position = 0;

                        var entryName = GetSiteRelatedEntryName(rootSiteExported, site, MembershipFileName);

                        if (zipFile.ContainsEntry(entryName))
                        {
                            zipFile.RemoveEntry(entryName);
                        }
                        zipFile.AddEntry(entryName, ms);
                    }
                }
            }
            if (includeSubSites)
            {
                foreach (var childSite in ChildSites(site))
                {
                    ExportSiteMembership(rootSiteExported, childSite, zipFile, includeSubSites);
                }
            }
        }
示例#2
0
 public virtual ActionResult Export(Kooboo.CMS.Membership.Models.Membership[] model)
 {
     if (model != null || model.Length > 1)
     {
         string fileName = model.First().Name + ".zip";
         Response.AttachmentHeader(fileName);
         var membership = model.First().AsActual();
         if (membership != null)
         {
             _provider.Export(membership, Response.OutputStream);
         }
     }
     return(null);
 }