1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Web;
5: using System.Web.UI;
6: using System.Web.UI.WebControls;
7: using Microsoft.SharePoint;
8: using Microsoft.SharePoint.Administration;
9: using System.Data;
10:
11: namespace SiteInfo
12: {
13: public partial class _Default : System.Web.UI.Page
14: {
15: protected void Page_Load(object sender, EventArgs e)
16: {
17: if (!Page.IsPostBack)
18: LoadLists();
19: }
20:
21: private void LoadLists()
22: {
23: try
24: {
25: Sites.Items.Clear();
26: Sites.Items.Add(new ListItem(" ", ""));
27: using (SPSite WebSite = new SPSite("LOCAL SITE LOCATION"))
28: {
29: foreach (SPSite TempSite in WebSite.WebApplication.Sites)
30: {
31: Sites.Items.Add(new ListItem(TempSite.Url, TempSite.ID.ToString()));
32: if (TempSite.LastContentModifiedDate.CompareTo(DateTime.Now.AddDays(-30)) < 0)
33: Unused.InnerHtml += "<a href=\"" + TempSite.Url + "\">" + TempSite.Url + "</a><br />";
34: }
35: }
36: }
37: catch (Exception a) { Test.InnerHtml = a.ToString(); }
38: }
39:
40: protected void Sites_SelectedIndexChanged(object sender, EventArgs e)
41: {
42: try
43: {
44: SubSites.Items.Clear();
45: SubSites.Items.Add(new ListItem(" ", ""));
46: if (string.IsNullOrEmpty(Sites.SelectedValue))
47: return;
48: using (SPSite TempSite = new SPSite(Guid.Parse(Sites.SelectedValue)))
49: {
50: foreach (SPWeb Web in TempSite.AllWebs)
51: {
52: if (Web != null)
53: {
54: SubSites.Items.Add(new ListItem(Web.Title, Web.ID.ToString()));
55: }
56: }
57: }
58: }
59: catch (Exception a) { Test.InnerHtml = a.ToString(); }
60: }
61:
62: protected void SubSites_SelectedIndexChanged(object sender, EventArgs e)
63: {
64: try
65: {
66: if (string.IsNullOrEmpty(Sites.SelectedValue))
67: return;
68: if (string.IsNullOrEmpty(SubSites.SelectedValue))
69: return;
70: Guid TempGuid = Guid.Parse(SubSites.SelectedValue);
71: using (SPSite TempSite = new SPSite(Guid.Parse(Sites.SelectedValue)))
72: {
73: Test.InnerHtml = "<table>";
74: Test.InnerHtml += "<tr><td>Site collection URL: </td><td><a href=\"" + TempSite.Url + "\">" + TempSite.Url + "</a></td></tr>";
75: Test.InnerHtml += "<tr><td>Site collection owner: </td><td>" + TempSite.Owner.Name + "</td></tr>";
76: Test.InnerHtml += "<tr><td>Site collection last modified: </td><td>" + TempSite.LastContentModifiedDate + "</td></tr>";
77: Test.InnerHtml += "<tr><td>Site collection size (in MB): </td><td>" + (TempSite.Usage.Storage / 1048576).ToString() + "</td></tr>";
78: using (SPWeb Web = TempSite.OpenWeb(TempGuid))
79: {
80: if (Web != null)
81: {
82: Test.InnerHtml += "<tr><td>Web site title: </td><td>" + Web.Title + "</td></tr>";
83: Test.InnerHtml += "<tr><td>Web site URL: </td><td><a href=\"" + Web.Url + "\">" + Web.Url + "</a></td></tr>";
84: Test.InnerHtml += "<tr><td>Web site description: </td><td>" + Web.Description + "</td></tr>";
85: Test.InnerHtml += "<tr><td>Web site date created: </td><td>" + Web.Created + "</td></tr>";
86: Test.InnerHtml += "<tr><td colspan=\"2\"><b>Users: </b></td>";
87: foreach (SPUser User in Web.AllUsers)
88: {
89: Test.InnerHtml += "<tr><td colspan=\"2\"><a href=\"mailto:" + User.Email + "\">" + User.Name + "</a></td></tr>";
90: }
91: Test.InnerHtml += "<tr><td colspan=\"2\"><b>Properties: </b></td>";
92: foreach (object Key in Web.AllProperties.Keys)
93: {
94: Test.InnerHtml += "<tr><td>" + Key.ToString() + "</td><td>" + Web.AllProperties[Key].ToString() + "</td></tr>";
95: }
96: }
97: }
98: Test.InnerHtml += "</table>";
99: }
100: }
101: catch (Exception a) { Test.InnerHtml = a.ToString(); }
102: }
103: }
104: }