public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
List<string> listContentType = new List<string>();
listContentType.Add("CT_TestContentType1");
listContentType.Add("CT_TestContentType2");
SPSite currentSite = (SPSite)properties.Feature.Parent;
SPWebCollection webColl = currentSite.AllWebs;
foreach (SPWeb web in webColl)
{
try
{
PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(web);
SPList pagelibrary = publishingWeb.PagesList;
if (pagelibrary != null)
{
try
{
SPField field = pagelibrary.Fields["IsProtected"];
}
catch
{
pagelibrary.Fields.Add("IsProtected", SPFieldType.Boolean, false);
SPFieldBoolean fIsProtected = (SPFieldBoolean)pagelibrary.Fields["IsProtected"];
fIsProtected.DefaultValue = "0";
fIsProtected.Update();
}
pagelibrary.ContentTypesEnabled = true;
for (int i = 0; i < listContentType.Count; i++)
{
SPContentType contentType = web.AvailableContentTypes[listContentType[i].ToString()];
if (contentType != null)
{
if (pagelibrary.IsContentTypeAllowed(contentType) && pagelibrary.ContentTypes[contentType.Name] == null)
{
pagelibrary.ContentTypes.Add(contentType);
}
}
}
}
}
catch
{ }
}
}