private void EnhanceQuery(object sender, BeforeSerializeToClientEventArgs e) { DataProviderScriptWebPart dataProvider = sender as DataProviderScriptWebPart; dataProvider.Properties.Add("Demo_SeeMoreText", this.SeeMoreText); dataProvider.Properties.Add("Demo_SeeMoreUrl", this.SeeMoreUrl); dataProvider.Properties.Add("Demo_ReadMoreText", this.ReadMoreText); dataProvider.Properties.Add("Demo_ReadMoreUrl", this.ReadMoreUrl); }
protected override void CreateChildControls() { DataProviderScriptWebPart dp = this.GetPrivatePropertyValue <DataProviderScriptWebPart>("DataProvider"); if (dp != null) { this.Controls.Add(dp); } if (this.GetPrivateFieldValue <bool>("RenderOnServer") && !base.IsSharePointCrawler()) { this.Controls.Add(this.GetPrivatePropertyValue <SearchServerRenderer>("ServerRenderer")); } typeof(DisplayScriptWebPart).GetMethod("CreateChildControls", BindingFlags.NonPublic | BindingFlags.Instance).InvokeNotOverride(this, null); }
private void UpdateQueryText(object sender, BeforeSerializeToClientEventArgs e) { try { DataProviderScriptWebPart dataProvider = sender as DataProviderScriptWebPart; string currentQueryText = dataProvider.QueryTemplate; string token = "TargetAudienceQuery"; if (currentQueryText.Contains(token)) { dataProvider.QueryTemplate = currentQueryText.Replace(token, BuildTAQuery()); } } catch (Exception ex) { SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory("Content Search Ext Web Part", TraceSeverity.Medium, EventSeverity.Error), TraceSeverity.Medium, "UpdateQueryText Failed: " + ex.Message, null); } }
void DataProvider_BeforeSerializeToClient(object sender, ScriptWebPart.BeforeSerializeToClientEventArgs e) { DataProviderScriptWebPart dp = sender as DataProviderScriptWebPart; if (dp == null) { return; } List <string> authorsIFollow = new List <string>(); List <string> sitesIFollow = new List <string>(); SPUser targetUser = SPContext.Current.Web.CurrentUser; try { SPServiceContext serverContext = SPServiceContext.GetContext(SPContext.Current.Site); UserProfileManager profileManager = new UserProfileManager(serverContext); if (profileManager.UserExists(targetUser.LoginName)) { UserProfile profile = profileManager.GetUserProfile(targetUser.LoginName); SPSocialFollowingManager manager = new SPSocialFollowingManager(profile); SPSocialActor[] followedUsers = manager.GetFollowed(SPSocialActorTypes.Users); authorsIFollow.AddRange(followedUsers.Select(f => f.Name)); SPSocialActor[] followedSites = manager.GetFollowed(SPSocialActorTypes.Sites); sitesIFollow.AddRange(followedSites.Select(f => f.Uri.AbsoluteUri)); } } catch (SPSocialException) { //Silence error if the user don't have a personal site } if (authorsIFollow.Count > 0) { dp.Properties["FollowedUsers"] = authorsIFollow; } if (sitesIFollow.Count > 0) { dp.Properties["FollowedSites"] = sitesIFollow; } }
public static void AddWebPartsAndConfig(string nameAndPathWelcomePage, List<WebPartDriskolls> webPerts, SPWeb spWeb, string sourceId, string contentSearchPath) { try { using (SPLimitedWebPartManager manager = spWeb.GetLimitedWebPartManager(spWeb.Url + "/" + nameAndPathWelcomePage, PersonalizationScope.Shared)) { foreach (WebPartDriskolls wpDriskolls in webPerts) { ContentBySearchWebPart contSearchWebPart = new ContentBySearchWebPart(); contSearchWebPart.Title = wpDriskolls.Name; switch (wpDriskolls.Params["ChromeType"]) { case "None": contSearchWebPart.ChromeType = PartChromeType.None; break; case "Title": contSearchWebPart.ChromeType = PartChromeType.TitleOnly; break; default: contSearchWebPart.ChromeType = PartChromeType.None; break; } contSearchWebPart.NumberOfItems = int.Parse(wpDriskolls.Params["NumberOfItems"]); contSearchWebPart.RenderTemplateId = contentSearchPath + wpDriskolls.Params["TemplateControl"] + ".js"; contSearchWebPart.ItemTemplateId = contentSearchPath + wpDriskolls.Params["ItemTemplateId"] + ".js"; var querySettings = new DataProviderScriptWebPart { PropertiesJson = contSearchWebPart.DataProviderJSON }; //setting the search query text querySettings.Properties["QueryTemplate"] = wpDriskolls.Params["Custom Query"]; querySettings.Properties["FallbackSortJson"] = wpDriskolls.Params["FallbackSortJson"]; querySettings.Properties["SourceID"] = sourceId; contSearchWebPart.DataProviderJSON = querySettings.PropertiesJson; manager.AddWebPart(contSearchWebPart, wpDriskolls.Params["wpZone"], 1); } } } catch (Exception ee) { EssnLog.logInfo("Error on AddWebPartsAndConfig in FeatureActivated."); EssnLog.logExc(ee); } }