-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathPageCount.aspx
109 lines (104 loc) · 4.19 KB
/
PageCount.aspx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="Sitecore.Data" %>
<%@ Import Namespace="Sitecore.Data.Items" %>
<%@ Import Namespace="Sitecore.Globalization" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Import Namespace="System.Linq" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.UI" %>
<%@ Import Namespace="System.Web.UI.WebControls" %>
<%@ Import Namespace="Sitecore.Collections" %>
<%@ Import Namespace="System.Globalization" %>
<%@ Import Namespace="Sitecore.Data.Managers" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script language="CS" runat="server">
StringBuilder sb;
DataTable tb;
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (Sitecore.Context.User.IsAuthenticated == false)
{
Response.Redirect("login.aspx?returnUrl=LanguageReport.aspx");
}
}
protected void btnGetReport_Click(object sender, EventArgs e)
{
try
{
string path = txtPath.Text;
Database db = Database.GetDatabase(txtDatabase.Text);
Item parent = db.GetItem(path);
int globalCounter = 0;
int onlyPageCounter = 0;
//tb = new DataTable();
LanguageCollection languages = LanguageManager.GetLanguages(db);
List<CultureInfo> cultureInfos = new List<CultureInfo>();
//tb.Columns.Add("Item ID");
//tb.Columns.Add("Item Path");
//foreach (Language language in languages)
//{
// tb.Columns.Add(language.Name);
//}
foreach (Item childItem in parent.Axes.GetDescendants())
{
if (childItem.Fields["__Renderings"].ToString() != string.Empty)
{
//DataRow itemRow = tb.NewRow();
//itemRow[0] = childItem.ID;
//itemRow[1] = childItem.Paths.Path;
onlyPageCounter = onlyPageCounter + 1;
foreach (var itemLanguage in childItem.Languages)
{
var item = db.GetItem(childItem.ID, itemLanguage);
if (item.Versions.Count > 0)
{
globalCounter = globalCounter + 1;
//if (tb.Columns[itemLanguage.Name] != null)
// itemRow[tb.Columns[itemLanguage.Name]] = "1";
}
}
}
}
lblCount.Text = "Only page count: " + onlyPageCounter + " Total items: " + globalCounter;
//grdLanguageReport.DataSource = tb;
//grdLanguageReport.DataBind();
}
catch (Exception ex)
{
lblCount.Text = ex.ToString();
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<table>
<tr>
<td>Provide Parent Item Path:<asp:TextBox ID="txtPath" Width="700px" runat="server"></asp:TextBox></td>
<td>Provide Database:<asp:TextBox ID="txtDatabase" Width="50px" runat="server"></asp:TextBox></td>
<td>
<asp:Button ID="btnGetReport" runat="server" Text="Get Language Report" OnClick="btnGetReport_Click" /></td>
</tr>
<tr>
<td>
<asp:Label ID="lblCount" runat="server"></asp:Label></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="grdLanguageReport" CssClass="table-style-three" runat="server"></asp:GridView>
</td>
</tr>
</table>
</form>
</body>
</html>