Ejemplo n.º 1
0
        public override void FeatureActivated(SPFeatureReceiverProperties properties)
        {
            SPSite site = properties.Feature.Parent as SPSite;

            PublishingWeb pWeb           = PublishingWeb.GetPublishingWeb(site.RootWeb);
            bool          pageNotCreated = !pWeb.GetPublishingPages().Cast <PublishingPage>().Any(p => p.Name == pageName);

            if (pageNotCreated)
            {
                //если такой страницы еще нет - создаем ее
                PublishingPage pPage = pWeb.GetPublishingPages().Add(pageName, null);

                pPage.CheckOut();

                using (Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager wpManager = site.RootWeb.GetLimitedWebPartManager(pPage.Url, PersonalizationScope.Shared))
                {
                    ResultScriptWebPart searchResults = GetImportedWebPart(site, wpName) as ResultScriptWebPart;
                    searchResults.Title      = wpTitle;
                    searchResults.ChromeType = PartChromeType.None;

                    wpManager.AddWebPart(searchResults, "Top", 0);
                }

                pPage.CheckIn(string.Empty);
            }
        }
Ejemplo n.º 2
0
        public override WebPart CreateWebPart(SPWeb web, Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager webPartManager)
        {
            SPList list = GetList(web, ListUrl, ListName);

            if (list == null)
            {
                return(null);
            }

            Microsoft.SharePoint.WebPartPages.ListViewWebPart webPart = new Microsoft.SharePoint.WebPartPages.ListViewWebPart();
            webPart.ListId = list.ID;
            webPart.Title  = Title;
            webPart.WebId  = list.ParentWeb.ID;


            //webPart.ChromeType = System.Web.UI.WebControls.WebParts.PartChromeType.TitleAndBorder;
            SPView view = GetView(list, ViewName);

            webPart.ViewGuid    = view.ID.ToString();
            webPart.ListViewXml = view.GetViewXml();

            webPart.ExportMode = WebPartExportMode.All;
            base.UpdateProperties(webPart);
            return(webPart);
        }
Ejemplo n.º 3
0
        public override WebPart CreateWebPart(SPWeb web, Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager webPartManager)
        {
            SPQuery qry = new SPQuery();

            qry.Query = String.Format(CultureInfo.CurrentCulture,
                                      "<Where><Eq><FieldRef Name='FileLeafRef'/><Value Type='File'>{0}</Value></Eq></Where>",
                                      this.WebpartName);
            SPList webPartGallery = null;

            if (web.ParentWeb == null)
            {
                webPartGallery = web.GetCatalog(
                    SPListTemplateType.WebPartCatalog);
            }
            else
            {
                webPartGallery = web.Site.RootWeb.GetCatalog(
                    SPListTemplateType.WebPartCatalog);
            }

            SPListItemCollection webParts = webPartGallery.GetItems(qry);

            XmlReader xmlReader = new XmlTextReader(webParts[0].File.OpenBinaryStream());
            string    errorMsg;
            WebPart   webPart = webPartManager.ImportWebPart(xmlReader, out errorMsg);

            //webPart.Hidden = isHidden;
            base.UpdateProperties(webPart);
            return(webPart);
        }
Ejemplo n.º 4
0
        protected virtual void ProcessWebPartDeletes(
            Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager wpManager,
            IEnumerable <WebPart> spWebPartDefenitions,
            DeleteWebPartsDefinition definition)
        {
            var webParts2Delete = new List <WebPart>();

            if (definition.WebParts.Any())
            {
                foreach (var webPartMatch in definition.WebParts)
                {
                    var currentWebPartMatch = FindWebPartMatch(spWebPartDefenitions, webPartMatch);

                    if (currentWebPartMatch != null && !webParts2Delete.Contains(currentWebPartMatch))
                    {
                        webParts2Delete.Add(currentWebPartMatch);
                    }
                }
            }
            else
            {
                webParts2Delete.AddRange(spWebPartDefenitions);
            }

            // clean up
            for (var index = 0; index < webParts2Delete.Count; index++)
            {
                wpManager.DeleteWebPart(webParts2Delete[index]);
            }
        }
Ejemplo n.º 5
0
        public override WebPart CreateWebPart(SPWeb web, Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager webPartManager)
        {
            Microsoft.SharePoint.WebPartPages.ContentEditorWebPart webPart = new Microsoft.SharePoint.WebPartPages.ContentEditorWebPart();
            // Create an XmlElement to hold the value of the Content property.
            XmlDocument xmlDoc     = new XmlDocument();
            XmlElement  xmlElement = xmlDoc.CreateElement("MyElement");

            xmlElement.InnerText = Content;
            // Set the Content property to the XmlElement.
            webPart.Content = xmlElement;
            base.UpdateProperties(webPart);
            return(webPart);
        }
Ejemplo n.º 6
0
        private void SaveChartProperties()
        {
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPSite SiteCollection = new SPSite(sWpPagePath))
                {
                    // get the web in this context
                    using (SPWeb myWeb = SiteCollection.OpenWeb())
                    {
                        myWeb.AllowUnsafeUpdates = true;
                        string path = string.Empty;
                        path        = sWpPagePath.Replace(myWeb.Url + "/", "");
                        SPFile page = myWeb.GetFile(path);
                        // Hide/display another webpart.
                        Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager mgr = null;

                        mgr = page.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);

                        foreach (System.Web.UI.WebControls.WebParts.WebPart myWebPart in mgr.WebParts)
                        {
                            // If this is the webpart we want to modify...
                            if (myWebPart.ID == sWpId)
                            {
                                // Change Properties
                                ReportingChart.ReportingChart rc = (ReportingChart.ReportingChart)myWebPart;

                                // save properties
                                rc.PropChartSelectedListTitle = sPropChartSelectedListTitle;
                                rc.PropChartSelectedViewTitle = sPropChartSelectedViewTitle;
                                rc.PropChartType            = (ReportingChart.ChartType)Enum.Parse(typeof(ReportingChart.ChartType), sChartType);
                                rc.PropChartAggregationType = sPropChartAggregationType;
                                rc.PropChartXaxisField      = sPropChartXaxisField;
                                rc.PropChartYaxisField      = sPropChartYaxisField;
                                rc.PropYaxisFormat          = sPropYaxisFormat;
                                rc.PropChartZaxisField      = sPropChartZaxisField;
                                rc.PropBubbleChartGroupBy   = sPropBubbleChartGroupBy;

                                rc.PropChartTitle = sChartTitle;
                                rc.PropChartSelectedPaletteName = sPropChartSelectedPaletteName;
                                rc.PropChartShowSeriesLabels    = bool.Parse(sPropChartShowSeriesLabels);
                                rc.PropChartShowGridlines       = bool.Parse(sPropChartShowGridlines);
                                rc.PropChartShowLegend          = bool.Parse(sPropChartShowLegend);
                                rc.PropChartLegendPosition      = sPropLegendPosition;
                                mgr.SaveChanges(myWebPart);
                                break;
                            }
                        }
                    }
                }
            });
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Получение импортированной веб части
        /// </summary>
        /// <param name="site">Сайт коллекция</param>
        /// <param name="wpName">Имя веб части</param>
        /// <returns>Объект веб части</returns>
        public static WebPart GetImportedWebPart(SPSite site, string wpName)
        {
            string error       = String.Empty;
            var    wpSetttings = site.RootWeb.GetFileAsString(String.Format("{0}/_catalogs/wp/{1}", site.RootWeb.Url, wpName));

            using (Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager wpManager = site.RootWeb.GetLimitedWebPartManager(site.RootWeb.RootFolder.WelcomePage, PersonalizationScope.Shared))
            {
                using (var stringReader = new StringReader(wpSetttings))
                {
                    using (XmlTextReader reader = new XmlTextReader(stringReader))
                    {
                        var wp = wpManager.ImportWebPart(reader, out error);

                        return(wp);
                    }
                }
            }
        }
Ejemplo n.º 8
0
 public virtual WebPart CreateWebPart(SPWeb web, Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager webPartManager)
 {
     return(default(WebPart));
 }