private void GetAllWebPages(SPWeb rootWeb, Guid siteID, string query) { //DataTable dtItems = new DataTable(); //SPListItemCollection items = SPHelper.GetAllSPListItems(siteID, rootWeb.ServerRelativeUrl, ConstantClass.PAGESFORM, query, "", 0); //if (items != null && items.Count > 0) //{ // dtItems = GetDataTable(items, rootWeb.Url); //} //if (dtResult != null && dtResult.Rows.Count > 0) //{ // MergeTable(dtItems, dtResult); //} //else //{ // dtResult = dtItems.Copy(); //} SPWebCollection subWebCollection = rootWeb.GetSubwebsForCurrentUser(); if (subWebCollection.Count > 0) { GetSubWebPages(subWebCollection, siteID, query); } }
private void getMatters() { try { using (SPWeb web = new SPSite(_sourceSiteUrl).OpenWeb()) { SPWebCollection allAccessibleMatters = web.GetSubwebsForCurrentUser(); foreach (SPWeb matter in allAccessibleMatters) { //TODO - Put all matters in one list, then use Datatables.net to sort them. if (matter.AllProperties.ContainsKey("LMUserID")) { if (matter.AllProperties["LMUserID"].ToString() == getUserId()) { addEntry(matter, true); } else { addEntry(matter, false); } } else { addEntry(matter, false, false); } } } } catch (Exception ex) { HandleException(ex); } }
public static SPWeb FindSubSite(SPWeb rootWeb, string subSiteUrl) { SPWebCollection webCollection = rootWeb.Webs; if (webCollection.Count > 0) { SPWeb subsite = null; foreach (SPWeb web in webCollection) { if (web.Url == subSiteUrl) { subsite = web; break; } else if (web.Webs.Count > 0) { subsite = FindSubSite(web, subSiteUrl); break; } } return(subsite); } else { return(null); } }
// Public Methods (1) public override bool Perform() { try { using (var spSite = new SPSite(Web.Site.ID)) { SPWebCollection spWebCollection = spSite.AllWebs; for (int i = 0; i < spWebCollection.Count; i++) { using (SPWeb spWeb = spWebCollection[i]) { try { using (SPWeb web = spSite.OpenWeb(spWeb.ID)) { LogTitle(GetWebInfo(web), 1); string configSetting = CoreFunctions.getConfigSetting(web, EPK_LIST_PROPERTY); if (string.IsNullOrEmpty(configSetting)) { LogMessage("No PFE list was found.", MessageKind.SKIPPED, 2); continue; } foreach (string listName in configSetting.Split(',').Distinct()) { string list = listName.Trim(); SPList spList = spWeb.Lists.TryGetList(list); if (spList == null) { LogMessage(@"List " + list + " does not exist.", MessageKind.SKIPPED, 2); continue; } LogTitle(GetListInfo(spList), 2); MapField(spList, web, "Selected", "Selected", SPFieldType.Boolean, "21000,Selected,1"); MapField(spList, web, "ResourcePlanHours", "Resource Plan Hours", SPFieldType.Number, "21001,ResourcePlanHours,1"); } } } catch (Exception e) { LogMessage(e.Message, MessageKind.FAILURE, 2); } } } } } catch (Exception e) { LogMessage(e.Message, MessageKind.FAILURE, 2); } return(true); }
private string getSubWebs(String surl) { String sites = String.Empty; using (SPSite site = new SPSite(surl)) { using (SPWeb web = site.OpenWeb()) { SPWebCollection webCollection = web.GetSubwebsForCurrentUser(); foreach (SPWeb webCol in webCollection) { DataRow dRow = dtSites.NewRow(); if (!(webCol.NoCrawl) & !(webCol.Title.Equals("News")) & !(webCol.Title.Equals("Sites")) & !(webCol.Title.Equals("Reports")) & !(webCol.Title.Equals("Document Center")) & !(webCol.Title.Equals("Search"))) { dRow["SiteName"] = webCol.Title; dRow["SiteURL"] = webCol.Url; dRow["SiteDesc"] = webCol.Description; dtSites.Rows.Add(dRow); sites = sites + "<tr><td><a href='" + webCol.Url + "'>link</a></td><td>" + webCol.Title + "</td></tr>"; } } } } return(sites); }
public static void DeactivateFeatureInWeb(string strSiteUrl, string strFeatureTitle) { using (SPSite site = new SPSite(strSiteUrl)) { System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo(1033); SPFeatureDefinitionCollection featureDefinitionColl = SPFarm.Local.FeatureDefinitions; SPWebCollection webColl = site.AllWebs; foreach (SPFeatureDefinition featureDefinition in featureDefinitionColl) { if (featureDefinition.GetTitle(cultureInfo) == strFeatureTitle) { Guid guidFeatureDefinitionID = featureDefinition.Id; foreach (SPWeb web in webColl) { if (featureDefinition.Scope == SPFeatureScope.Web) { SPFeatureCollection featureColl = web.Features; featureColl.Remove(guidFeatureDefinitionID, true); } web.Dispose(); } } } } }
private void UpgradeMyWork() { LogMessage("Upgrading My Work WebPart."); using (var spSite = new SPSite(SPContext.Current.Site.ID)) { SPWebCollection spWebCollection = spSite.AllWebs; for (int i = 0; i < spWebCollection.Count; i++) { using (SPWeb web = spWebCollection[i]) { using (SPWeb spWeb = spSite.OpenWeb(web.ID)) { LogMessage("-- Web: " + spWeb.ServerRelativeUrl); spWeb.AllowUnsafeUpdates = true; UpdateMyWorkWebPart(spWeb); ConfigureMyWorkViews(); spWeb.AllowUnsafeUpdates = false; } } } } }
/// <summary> /// 获取所有子网站的页面 /// </summary> /// <param name="webCollection">子网站</param> /// <param name="siteID"></param> /// <param name="query"></param> private void GetSubWebPages(SPWebCollection webCollection, Guid siteID, string query) { foreach (SPWeb subWeb in webCollection) { DataTable dtItems = new DataTable(); SPListItemCollection items = SPHelper.GetAllSPListItems(siteID, subWeb.ServerRelativeUrl, ConstantClass.PAGESFORM, query, "", 0); if (items != null && items.Count > 0) { dtItems = GetDataTable(items, subWeb.Url); } if (dtResult != null && dtResult.Rows.Count > 0) { MergeTable(dtItems, dtResult); } else { dtResult = dtItems.Copy(); } SPWebCollection subWebCollection = subWeb.GetSubwebsForCurrentUser(); if (subWebCollection.Count > 0) { GetSubWebPages(subWebCollection, siteID, query); } subWeb.Dispose(); } }
private string GetSubWebs(string loginName) { string subWebs = string.Empty; try { SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(SPContext.Current.Site.ID)) { using (SPWeb web = site.OpenWeb(SPContext.Current.Web.ID)) { SPWebCollection webs = web.Webs; foreach (SPWeb subweb in webs) { if (web.DoesUserHavePermissions(loginName, SPBasePermissions.Open)) { subWebs += string.Format(liItem, subweb.ServerRelativeUrl, subweb.Title); } } } } }); } catch (Exception ex) { } return(subWebs); }
/// <summary> /// Creates a subsite for a SharePoint v3 site /// </summary> /// <param name="ParentSiteURL">SharePoint v3 site URL</param> /// <param name="SiteURLName">Subsite name</param> /// <param name="SiteTitle">Subsite title</param> /// <param name="SiteDescription">Subsite description</param> /// <param name="SiteLCID">Sibsite LCID</param> /// <param name="OverwriteIfExists">if true, the existing subsite with the same name will be deleted and created again.</param> /// <param name="OutNewSiteURL">the method will return the full URL of the subsite</param> /// <param name="ResultText">the method will return text log of the operations performed.</param> /// <returns>true if the subsite is successfully created.</returns> public bool CreateSite(string parentSiteURL, string siteURLName, string siteTitle, string siteDescription, uint siteLCID, bool overwriteIfExists, ref string outNewSiteURL, ref string resultText) { bool result = false; //string testResult = ""; string subSiteFullName = CleanURL(parentSiteURL) + "/" + siteURLName; outNewSiteURL = subSiteFullName; resultText = String.Format(TextResources.AttemptingToCreateSite, subSiteFullName) + Environment.NewLine; //wrapping in try catch as this will be executed in a different thread try { SPSite parentSite = new SPSite(parentSiteURL); SPWeb siteWeb = parentSite.OpenWeb(); SPWebCollection subSites = siteWeb.Webs; string currentTemplate = siteWeb.WebTemplate; string siteTestStatus; if (TestSharePointV3Site(subSiteFullName, out siteTestStatus)) { //site already exists resultText += TextResources.SiteExists + System.Environment.NewLine; if (overwriteIfExists) { //delete site SPUserCollection siteUsers = siteWeb.SiteUsers; //emptying site users collection int numUsers = siteUsers.Count; for (int userIndex = numUsers; userIndex == 1; userIndex--) { if (!(parentSite.Owner.Sid == siteWeb.SiteUsers[userIndex].Sid)) { siteWeb.SiteUsers.Remove(userIndex); } } subSites.Delete(siteURLName); } else { //dont need to overwrite, exiting result = true; return(result); } } subSites.Add(siteURLName, siteTitle, siteDescription, siteLCID, currentTemplate, true, false); string siteTestResult; if (TestSharePointV3Site(subSiteFullName, out siteTestResult)) { result = true; resultText += TextResources.SiteCreated + System.Environment.NewLine; } } catch (System.Exception ex) { resultText += ex.Message + System.Environment.NewLine; } return(result); }
public static WebList GetSubwebs(this SPWeb web) { var list = new WebList(); SPWebCollection subwebsForCurrentUser = web.GetSubwebsForCurrentUser(); list.AddRange(subwebsForCurrentUser); return(list); }
public static TFacade Use <TFacade>(this SPWebCollection webs) where TFacade : BaseFacade { if (webs == null) { throw new ArgumentNullException("webs"); } return((TFacade)Activator.CreateInstance(typeof(TFacade), new object[] { null, webs })); }
public static SPWebCollectionFacade <BaseFacade> Use(this SPWebCollection webs) { if (webs == null) { throw new ArgumentNullException("webs"); } return(new SPWebCollectionFacade <BaseFacade>(null, webs)); }
Result iTool.Execute(Job job) { Result result = new Result(job.Id); config siteConfig = new config(); siteConfig.ReadConfig(job.DownloadAttachment()); List <site> sites = new List <site>(); foreach (subsite subSite in siteConfig.subSites) { Console.WriteLine(subSite.source); using (SPWeb web = new SPSite(subSite.source).OpenWeb()) { site site = new site(subSite.source, subSite.target); structure.sites.Add(site); SPWebCollection subsites = siteConfig.allWebs ? web.Site.AllWebs : web.Webs; foreach (SPWeb spWeb in subsites) { string oldUrl = spWeb.Url; string siteRelativeUrl = oldUrl.Replace(subSite.source, string.Empty); siteRelativeUrl = siteRelativeUrl.StartsWith("/") ? siteRelativeUrl : (string.IsNullOrEmpty(siteRelativeUrl) ? siteRelativeUrl : siteRelativeUrl.Substring(1)); string newUrl = subSite.target + siteRelativeUrl; site newSite = new site(oldUrl, newUrl); structure.sites.Add(newSite); RecursiveWebCheck(spWeb, subSite.source, subSite.target); spWeb.Dispose(); } } } XmlSerializer serializer = new XmlSerializer(typeof(sitestructure)); string tmpFile = Scheduler.Instance.CreateTmpFile(); using (TextWriter stream = new StreamWriter(tmpFile)) { using (XmlWriter writer = XmlWriter.Create(stream, new XmlWriterSettings { Indent = true })) { writer.WriteStartDocument(); serializer.Serialize(writer, structure); writer.WriteEndDocument(); writer.Flush(); } } result.AddFile(tmpFile); return(result); }
private void SetTargetWeb() { listTargetWeb.Items.Clear(); List <ListItem> str = new List <ListItem>(); //using (SPSite _site = SPControl.GetContextSite(this.Context)) { SPSite _site = SPControl.GetContextSite(this.Context); SPWebCollection _webCollection = _site.AllWebs; string contextWebId = SPControl.GetContextWeb(this.Context).ID.ToString(); foreach (SPWeb web in _webCollection) { try { if (web.DoesUserHavePermissions( SPBasePermissions.ViewPages | SPBasePermissions.OpenItems | SPBasePermissions.ViewListItems)) { str.Add(new ListItem(web.Title, web.ID.ToString())); } } catch (Exception ex) { LoggingService.WriteTrace(Area.EPMLiveCore, Categories.EPMLiveCore.IntegrationCore, TraceSeverity.Medium, ex.ToString()); } finally { if (web != null) { web.Dispose(); } } } if (str.Count > 0) { str.Sort(delegate(ListItem item1, ListItem item2) { return(item1.Text.CompareTo(item2.Text)); }); listTargetWeb.Items.AddRange(str.ToArray()); ListItem bitem = null; if (!string.IsNullOrEmpty(TargetWebId)) { bitem = listTargetWeb.Items.FindByValue(TargetWebId); } else { bitem = listTargetWeb.Items.FindByValue(contextWebId); } if (bitem != null) { listTargetWeb.SelectedIndex = listTargetWeb.Items.IndexOf(bitem); } else { listTargetWeb.SelectedIndex = 0; } SetTargetList(listTargetWeb.SelectedItem.Value, true); } }
public SPWebCollectionInstance(ObjectInstance prototype, SPWebCollection webCollection) : this(prototype) { if (webCollection == null) { throw new ArgumentNullException("webCollection"); } m_webCollection = webCollection; }
public void RevertToOriginalBranding(SPWebCollection webs, string siteUrl) { foreach (SPWeb web in webs) { // For all properties URL has to be relative to web application web.MasterUrl = siteUrl + "_catalogs/masterpage/v4.master"; web.CustomMasterUrl = web.MasterUrl; web.AlternateCssUrl = string.Empty; web.Update(); } }
public void SetCustomBranding(SPWebCollection webs, string siteUrl) { foreach(SPWeb web in webs) { // For all properties URL has to be relative to web application web.MasterUrl = siteUrl + "_catalogs/masterpage/custom.master"; web.CustomMasterUrl = web.MasterUrl; web.AlternateCssUrl = siteUrl + "Style%20Library/custom.css"; web.UIVersion = 4; web.Update(); } }
/// <summary> /// Deletes the sub webs. /// </summary> /// <param name="webs">The webs.</param> private static void DeleteSubWebs(SPWebCollection webs) { foreach (SPWeb web in webs) { if (web.Webs.Count > 0) { DeleteSubWebs(web.Webs); } web.Delete(); } }
private void BuildSiteIndex() { Index.sitemapindex indexmap = new Index.sitemapindex(); SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(siteId)) { using (SPWeb web = site.OpenWeb(webId)) { SPWebCollection webs = site.AllWebs; //GetAllWebs(web); foreach (SPWeb subweb in webs) { if (subweb.AllowAnonymousAccess && subweb.WebTemplate.ToLower().Contains("website")) { Index.tSitemap sitemap = new Index.tSitemap(); sitemap.lastmod = subweb.LastItemModifiedDate.ToString("yyyy-MM-dd");//,.ToShortDateString(); sitemap.loc = subweb.Url + "/sitemap.xml"; indexmap.sitemap.Add(sitemap); if (settings.UseMobile) { Index.tSitemap mobilemap = new Index.tSitemap(); mobilemap.lastmod = subweb.LastItemModifiedDate.ToString("yyyy-MM-dd");//,.ToShortDateString(); mobilemap.loc = subweb.Url + "/mobilemap.xml"; indexmap.sitemap.Add(mobilemap); } } } if (settings.UseNews) { Index.tSitemap newsmap = new Index.tSitemap(); newsmap.lastmod = site.LastContentModifiedDate.ToString("yyyy-MM-dd");//,.ToShortDateString(); newsmap.loc = web.Url + "/newsmap.xml"; indexmap.sitemap.Add(newsmap); } if (settings.UseVideo) { Index.tSitemap videomap = new Index.tSitemap(); videomap.lastmod = site.LastContentModifiedDate.ToString("yyyy-MM-dd");//,.ToShortDateString(); videomap.loc = web.Url + "/videomap.xml"; indexmap.sitemap.Add(videomap); } } } }); textWriter.Append(indexmap.Serialize(Encoding.UTF8)); }
public override bool Perform() { SPWebCollection spWebCollection = SPSite.AllWebs; for (int i = 0; i < spWebCollection.Count; i++) { using (SPWeb web = spWebCollection[i]) { LogMessage("Web: " + web.ServerRelativeUrl); try { UpdateMaster(web); } catch (Exception ex) { LogMessage("", ex.Message, 3); } try { ActivateAppsList(web); } catch (Exception ex) { LogMessage("", ex.Message, 3); } try { UpdateSettings(web); } catch (Exception ex) { LogMessage("", ex.Message, 3); } try { AddCommunity(web); } catch (Exception ex) { LogMessage("", ex.Message, 3); } } } return(true); }
void btnAddSite_Click(object sender, EventArgs e) { if (!String.IsNullOrEmpty(txtNewSiteTitle.Text.ToString())) { // SP.UI.Notify.addNotification('<img src="/layours/images/loadinccirclests16.gif" style="vertical-align:top;"/> Operation in progress...',true); try { SPWeb thisSite = SPContext.Current.Web; SPWebCollection subSites = thisSite.Webs; string currentTemplate = thisSite.WebTemplate; string user = thisSite.CurrentUser.Name.ToString(); string siteUrl = MakeStringSPSafe(txtNewSiteTitle.Text.ToString()); string siteTitle = txtNewSiteTitle.Text.ToString(); string siteDescription = "Site " + txtNewSiteTitle.Text.ToString() + ", Created by " + user + " on " + DateTime.Today.ToString("MM/dd/yyyy"); subSites.Add(siteUrl, siteTitle, siteDescription, 1033, currentTemplate, true, false); string newSiteAbsoluteUrl = thisSite.Url + "/" + siteUrl; // reset thisSite to scope of new site thisSite = subSites[siteUrl]; // Create a members group for the newly created site string membersGroupName = MakeStringSPSafe(siteTitle) + " Members"; thisSite.SiteGroups.Add(membersGroupName, thisSite.CurrentUser, thisSite.CurrentUser, "Members of the site " + siteTitle); thisSite.AssociatedGroups.Add(thisSite.SiteGroups[membersGroupName]); thisSite.Update(); SPRoleAssignment assignment = new SPRoleAssignment(thisSite.SiteGroups[membersGroupName]); SPRoleDefinition _role = thisSite.RoleDefinitions["Contribute"]; assignment.RoleDefinitionBindings.Add(_role); thisSite.RoleAssignments.Add(assignment); string membersGroupId = thisSite.SiteGroups[membersGroupName].ID.ToString(); string manageMembersUrl = newSiteAbsoluteUrl + "/_layouts/15/people.aspx?MembershipGroupId=" + membersGroupId; lblResult.Text = "Site Successfully Created at <a href='" + newSiteAbsoluteUrl + "'>" + newSiteAbsoluteUrl + "</a>"; lblResult.Text = lblResult.Text + "<br><a href='" + manageMembersUrl + "'> Add Members to Site"; } catch (Exception ex) { lblResult.Text = "An Error Occured: " + ex.Message; } finally { txtNewSiteTitle.Text = null; PleaseWait.Visible = false; } } }
private static void ShowWebCollection(SPWebCollection collection, Func<string, string, TreeNode, TreeNode> func, TreeNode rootNode) { for (var i = 0; i < collection.Count; i++) { var info = collection.WebsInfo[i]; var node = func.Invoke(info.Title, info.ServerRelativeUrl, rootNode); using (SPWeb web = collection[i]) { if (web.Webs.Count > 0) { ShowWebCollection(web.Webs, func, node); } } } }
public List <string> getAllSitesInSiteCollection() { List <string> SiteNames = new List <string>(); using (SPSite site = new SPSite(SiteUrl)) { SPWebCollection webcoll = site.AllWebs; foreach (SPWeb w in webcoll) { SiteNames.Add(w.Title); w.Dispose(); } } return(SiteNames); }
static void Main(string[] args) { if (args.Length != 3) { Console.WriteLine("Parameter 1=URL. Exmpelvis http://localhost:51001/"); Console.WriteLine("Parameter 2=Sträng att hitta. Exmpelvis chalmersinnovation.com"); Console.WriteLine("Parameter 3=Skriv utdata till filnamn"); Console.WriteLine("FindPagesContainingString.exe http://localhost:51001/ chalmersinnovation.com c:\\temp\\utfil.txt"); return; } IList <SPWeb> webs = new List <SPWeb>(); try { SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite aSite = new SPSite(args[0])) { SPWeb aWeb = aSite.OpenWeb(); foreach (SPWeb web in aWeb.Webs) { webs.Add(web); } for (int i = 0; i < webs.Count(); i++) { Console.WriteLine("Bearbetar: " + (i + 1) + " av " + webs.Count() + ". " + webs[i].Url); SPWebCollection websFromWeb = processWeb(args, webs[i]); foreach (SPWeb web in websFromWeb) { webs.Add(web); } } } }); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } Console.WriteLine("Klar. Tryck på valfri tangent för att avsluta..."); Console.ReadKey(); }
private void SetTargetWeb() { listTargetWeb.Items.Clear(); List <ListItem> str = new List <ListItem>(); SPSite _site = SPControl.GetContextSite(this.Context); SPWebCollection _webCollection = _site.AllWebs; string contextWebId = SPControl.GetContextWeb(this.Context).ID.ToString(); foreach (SPWeb web in _webCollection) { if (web.DoesUserHavePermissions( SPBasePermissions.ViewPages | SPBasePermissions.OpenItems | SPBasePermissions.ViewListItems)) { str.Add(new ListItem(web.Title, web.ID.ToString())); } } if (str.Count > 0) { str.Sort(delegate(ListItem item1, ListItem item2) { return(item1.Text.CompareTo(item2.Text)); }); listTargetWeb.Items.AddRange(str.ToArray()); ListItem bitem = null; if (!string.IsNullOrEmpty(TargetWebId)) { bitem = listTargetWeb.Items.FindByValue(TargetWebId); } else { bitem = listTargetWeb.Items.FindByValue(contextWebId); } if (bitem != null) { listTargetWeb.SelectedIndex = listTargetWeb.Items.IndexOf(bitem); } else { listTargetWeb.SelectedIndex = 0; } SetTargetList(listTargetWeb.SelectedItem.Value, true); } }
private void FillSites() { DefineSubsitesTable(); SPWeb currentSite = SPControl.GetContextWeb(Context); SPWebCollection subSites = currentSite.GetSubwebsForCurrentUser(); foreach (SPWeb site in subSites) { DataRow dr = dtSubsites.NewRow(); dr["Title"] = site.Title; dr["Description"] = site.Description; dr["URL"] = site.Url; dtSubsites.Rows.Add(dr); } gvSubsites.DataSource = dtSubsites; gvSubsites.DataBind(); }
public override void FeatureDeactivating(SPFeatureReceiverProperties properties) { try { SPSite site = (SPSite)properties.Feature.Parent; SPWeb parentWeb = site.RootWeb; SPList eventLog = parentWeb.Lists.TryGetList("CCPEventFeatureLog"); SPWebCollection webs = parentWeb.Webs;//get subsites directly under top level int webCount = webs.Count + 1; string webStr = webCount.ToString(); //Create Item to Track WebCount SPQuery query = new SPQuery(); query.ViewXml = "<View Scope='RecursiveAll'/>"; SPListItemCollection coll = eventLog.GetItems(query); SPListItem item = eventLog.AddItem(); item["WebCount"] = webStr; item.Update(); foreach (SPWeb targetWeb in webs) { try { /* Activate Feature to attach receiver to both Proposals and Contracts */ targetWeb.Features.Remove(new Guid("025286a3-564b-4084-a073-1c1fac92c036")); } finally { if (targetWeb != null) { targetWeb.Dispose(); } } } //foreach } catch (Exception e) { SPSite site = (SPSite)properties.Feature.Parent; SPWeb parentWeb = site.RootWeb; SPList eventLog = parentWeb.Lists.TryGetList("CCPEventFeatureLog"); SPListItem item = eventLog.AddItem(); item["CCPEvents"] = "FeatureDeactivating : " + e.Message; } }
public static IEnumerable <Location> ToLocations(this SPWebCollection spLocations, string parentId) { if (spLocations == null) { // todo log error return(null); } var locations = new List <Location>(); foreach (SPWeb spl in spLocations) { var l = spl.ToLocation(parentId); locations.Add(l); // https://blogs.technet.microsoft.com/stefan_gossner/2008/12/05/disposing-spweb-and-spsite-objects/ spl.Dispose(); } return(locations); }
public string getSiteUrl(string SiteTitle) { string WebUrl = ""; using (SPSite site = new SPSite(SiteUrl)) { SPWebCollection webcoll = site.AllWebs; foreach (SPWeb w in webcoll) { if (w.Title == SiteTitle) { WebUrl = w.ServerRelativeUrl; w.Dispose(); break; } w.Dispose(); } } return(WebUrl); }
public static IEnumerable <SPWeb> AsSafeEnumerable(this SPWebCollection webs, Action <SPWeb> onDispose) { foreach (SPWeb web in webs) { try { yield return(web); } finally { if (web != null) { if (onDispose != null) { onDispose(web); } web.Dispose(); } } } }
public void CreateWebSite(string url, string title, string description, string siteTemplate) { using (SPWeb web = oSPSite.OpenWeb(oSPSite.RootWeb.ID)) { try { web.AllowUnsafeUpdates = true; // Site creation with unique permissions SPWebCollection webs = web.Webs; SPWeb newWeb = webs.Add(url, title, description, 1033, siteTemplate, true, false); // Owners, members and visitors groups creation SPGroup owners = SPGroupsHelper.AddGroup(newWeb, SPGroupsHelper.AssociatedGroupTypeEnum.Owners); SPGroup members = SPGroupsHelper.AddGroup(newWeb, SPGroupsHelper.AssociatedGroupTypeEnum.Members); SPGroup visitors = SPGroupsHelper.AddGroup(newWeb, SPGroupsHelper.AssociatedGroupTypeEnum.Visitors); // Changing the request access email to current user newWeb.RequestAccessEmail = newWeb.CurrentUser.Email; // Save changes newWeb.Update(); // Disposing new web object newWeb.Dispose(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { web.AllowUnsafeUpdates = false; } } }
/// <summary> /// Run find & replace on the specified web /// </summary> /// <param name="web"></param> protected void FindReplaceWebs(SPWeb web) { if (m_IsCanceling) { m_IsCanceled = true; return; } OnTrace(@"*** Site: " + web.Url + " ***", ""); if (m_Parameters.IncludeLists) { FindReplaceLists(web); } if (m_Parameters.IncludeWebParts || m_Parameters.IncludeXmlFilesLibraries) { FindReplaceWebPartsAndFiles(web); } SPWebCollection SubWebs = web.Webs; foreach (SPWeb ChildWeb in SubWebs) { if (m_IsCanceling) { m_IsCanceled = true; break; } if (m_Parameters.IncludeSubSites) { FindReplaceWebs(ChildWeb); } } }
/// <summary> /// Deletes the sub webs. /// </summary> /// <param name="webs">The webs.</param> private static void DeleteSubWebs(SPWebCollection webs) { foreach (SPWeb web in webs) { if (web.Webs.Count > 0) DeleteSubWebs(web.Webs); web.Delete(); } }