protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            bool inEditMode  = false;
            var  webpartZone = Control as Microsoft.SharePoint.WebPartPages.WebPartZone;

            if (webpartZone != null)
            {
                var wpManager = (SPWebPartManager)WebPartManager.GetCurrentWebPartManager(webpartZone.Page);
                if (wpManager != null)
                {
                    inEditMode = wpManager.GetDisplayMode().AllowPageDesign;
                }
            }

            if (!inEditMode)
            {
                if (webpartZone.WebParts.Count > 0)
                {
                    WebPartCollection wpColl = new WebPartCollection(webpartZone.WebParts);
                    foreach (System.Web.UI.WebControls.WebParts.WebPart wp in wpColl)
                    {
                        wp.RenderControl(writer);
                    }
                }
            }
            else
            {
                base.Render(writer);
            }
        }
 private static void LocalizeParts(Web web, TokenParser parser, string url, WebPartCollection webParts, PnPMonitoredScope scope)
 {
     if (CanUseAcceptLanguageHeaderForLocalization(web))
     {
         var context = web.Context;
         var allParts = web.GetWebParts(parser.ParseString(url)).ToList();
         foreach (var webPart in webParts)
         {
     #if !SP2016
             var partOnPage = allParts.FirstOrDefault(w => w.ZoneId == webPart.Zone && w.WebPart.ZoneIndex == webPart.Order);
     #else
             var partOnPage = allParts.FirstOrDefault(w => w.WebPart.ZoneIndex == webPart.Order);
     #endif
             if (webPart.Title.ContainsResourceToken() && partOnPage != null)
             {
                 var resourceValues = parser.GetResourceTokenResourceValues(webPart.Title);
                 foreach (var resourceValue in resourceValues)
                 {
                     // Save property with correct locale on the request to make it stick
                     // http://sadomovalex.blogspot.no/2015/09/localize-web-part-titles-via-client.html
                     context.PendingRequest.RequestExecutor.WebRequest.Headers["Accept-Language"] = resourceValue.Item1;
                     partOnPage.WebPart.Properties["Title"] = resourceValue.Item2;
                     partOnPage.SaveWebPartChanges();
                     context.ExecuteQueryRetry();
                 }
             }
         }
         context.PendingRequest.RequestExecutor.WebRequest.Headers.Remove("Accept-Language");
     }
     else
     {
         // warning
         scope.LogWarning(CoreResources.Provisioning_Extensions_WebPartLocalization_Skip);
     }
 }
Exemple #3
0
 private static void LocalizeParts(Web web, TokenParser parser, string url, WebPartCollection webParts, PnPMonitoredScope scope)
 {
     if (CanUseAcceptLanguageHeaderForLocalization(web))
     {
         var context  = web.Context;
         var allParts = web.GetWebParts(parser.ParseString(url)).ToList();
         foreach (var webPart in webParts)
         {
             var partOnPage = allParts.FirstOrDefault(w => w.ZoneId == webPart.Zone && w.WebPart.ZoneIndex == webPart.Order);
             if (webPart.Title.ContainsResourceToken() && partOnPage != null)
             {
                 var resourceValues = parser.GetResourceTokenResourceValues(webPart.Title);
                 foreach (var resourceValue in resourceValues)
                 {
                     // Save property with correct locale on the request to make it stick
                     // http://sadomovalex.blogspot.no/2015/09/localize-web-part-titles-via-client.html
                     context.PendingRequest.RequestExecutor.WebRequest.Headers["Accept-Language"] = resourceValue.Item1;
                     partOnPage.WebPart.Properties["Title"] = resourceValue.Item2;
                     partOnPage.SaveWebPartChanges();
                     context.ExecuteQueryRetry();
                 }
             }
         }
         context.PendingRequest.RequestExecutor.WebRequest.Headers.Remove("Accept-Language");
     }
     else
     {
         // warning
         scope.LogWarning(CoreResources.Provisioning_Extensions_WebPartLocalization_Skip);
     }
 }
    protected void Button2_Click(object sender, EventArgs e)
    {
        WebPartCollection partCollection = WebPartZone1.WebParts;

        if (partCollection[0].Title == "My Link List")
        {
            partCollection[0].Title = "Favorite Links";
        }
        else
        {
            partCollection[0].Title = "My Link List";
        }
    }
Exemple #5
0
        public static XmlDocument GetPersonalizationXml(HttpContext context, Page pageNode)
        {
            XmlDocument xml = new XmlDocument();

            xml.AppendChild(xml.CreateElement("webPartZones"));

            string   virtualPath = CreateVirtualPath(pageNode.Path);
            PageBase page        = InstantiatePage(context, virtualPath, pageNode);

            page.PreLoad += delegate
            {
                WebPartManager        wpm          = WebPartManager.GetCurrentWebPartManager(page);
                WebPartZoneCollection webPartZones = wpm.Zones;

                foreach (WebPartZone zone in webPartZones)
                {
                    XmlElement   zoneElement = xml.CreateElement("webPartZone");
                    XmlAttribute zoneId      = xml.CreateAttribute("id");
                    zoneId.Value = zone.ID;
                    zoneElement.SetAttributeNode(zoneId);
                    xml.DocumentElement.AppendChild(zoneElement);

                    WebPartCollection webParts = zone.WebParts;

                    foreach (WebPart webPart in webParts)
                    {
                        if (!webPart.IsStatic)
                        {
                            XmlDocument xmlFragment = new XmlDocument();
                            using (StringWriter sw = new StringWriter())
                            {
                                using (XmlWriter writer = new XmlTextWriter(sw))
                                {
                                    webPart.ExportMode = WebPartExportMode.All; // Force exporting of all information
                                    wpm.ExportWebPart(webPart, writer);
                                    writer.Flush();
                                }
                                xmlFragment.LoadXml(sw.ToString());
                            }
                            zoneElement.AppendChild(xml.ImportNode(xmlFragment.FirstChild.FirstChild, true));
                        }
                    }
                }
            };

            ExecutePage(context, virtualPath, page, pageNode, true);

            return(xml);
        }
    protected void Button1_Click(object sender, EventArgs e)
    {
        WebPartCollection partCollection = mgr1.WebParts;

        foreach (WebPart part in partCollection)
        {
            if (part.ChromeState != PartChromeState.Minimized)
            {
                part.ChromeState = PartChromeState.Minimized;
            }
            else
            {
                part.ChromeState = PartChromeState.Normal;
            }
        }
    }
Exemple #7
0
        public static WebPartCollection GetPortlets(HttpContext context, Page pageNode)
        {
            WebPartCollection webParts = null;

            string   virtualPath = CreateVirtualPath(pageNode.Path);
            PageBase page        = InstantiatePage(context, virtualPath, pageNode);

            page.PreLoad += delegate
            {
                webParts = WebPartManager.GetCurrentWebPartManager(page).WebParts;
            };

            ExecutePage(context, virtualPath, page, pageNode, true);

            return(webParts);
        }