Ejemplo n.º 1
0
        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); }
 }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        // 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);
        }
Ejemplo n.º 5
0
        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();
                        }
                    }
                }
            }
        }
Ejemplo n.º 7
0
        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;
                        }
                    }
                }
            }
        }
Ejemplo n.º 8
0
        /// <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();
            }
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 11
0
        public static WebList GetSubwebs(this SPWeb web)
        {
            var             list = new WebList();
            SPWebCollection subwebsForCurrentUser = web.GetSubwebsForCurrentUser();

            list.AddRange(subwebsForCurrentUser);
            return(list);
        }
Ejemplo n.º 12
0
        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 }));
        }
Ejemplo n.º 13
0
        public static SPWebCollectionFacade <BaseFacade> Use(this SPWebCollection webs)
        {
            if (webs == null)
            {
                throw new ArgumentNullException("webs");
            }

            return(new SPWebCollectionFacade <BaseFacade>(null, webs));
        }
Ejemplo n.º 14
0
        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();
     }
 }
Ejemplo n.º 19
0
        /// <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();
            }
        }
Ejemplo n.º 20
0
        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));
        }
Ejemplo n.º 21
0
        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);
        }
Ejemplo n.º 22
0
        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);
                    }
                }
            }
        }
Ejemplo n.º 24
0
        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);
        }
Ejemplo n.º 25
0
        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);
            }
        }
Ejemplo n.º 27
0
        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;
            }
        }
Ejemplo n.º 29
0
        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);
        }
Ejemplo n.º 30
0
        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);
        }
Ejemplo n.º 31
0
 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();
             }
         }
     }
 }
Ejemplo n.º 32
0
        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();
            }
        }