using System; using System.Data; using System.Collections; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using CMS.CMSHelper; using CMS.GlobalHelper; using CMS.Newsletter; using CMS.UIControls; [Title("Objects/Newsletter_EmailTemplate/object.png", "newsletters.templates", "new_newsletter_template", HelpName = "helpTopic")] public partial class CMSModules_Newsletters_Tools_Templates_NewsletterTemplate_New : CMSNewsletterTemplatesPage { protected void Page_Load(object sender, EventArgs e) { // Check 'Manage templates' permission if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.newsletter", "managetemplates")) { RedirectToCMSDeskAccessDenied("cms.newsletter", "managetemplates"); } rfvTemplateDisplayName.ErrorMessage = GetString("general.requiresdisplayname"); rfvTemplateName.ErrorMessage = GetString("NewsletterTemplate_Edit.ErrorEmptyName"); lblTemplateType.Text = GetString("NewsletterTemplate_Edit.TemplateType"); string currentEmailTemplate = GetString("NewsletterTemplate_Edit.NewItemCaption"); // Initializes page title control string[,] tabs = new string[2,3]; tabs[0, 0] = GetString("NewsletterTemplate_Edit.ItemListLink"); tabs[0, 1] = "~/CMSModules/Newsletters/Tools/Templates/NewsletterTemplate_List.aspx"; tabs[0, 2] = "newslettersContent"; tabs[1, 0] = currentEmailTemplate; tabs[1, 1] = string.Empty; tabs[1, 2] = string.Empty; CurrentMaster.Title.Breadcrumbs = tabs; if (!RequestHelper.IsPostBack()) { // Fill drop down list with newsletter types ListItem newItem = new ListItem(GetString("NewsletterTemplate_Edit.DrpOptIn"), "0"); drpTemplateType.Items.Add(newItem); newItem = new ListItem(GetString("NewsletterTemplate_Edit.DrpIssue"), "1"); drpTemplateType.Items.Add(newItem); newItem = new ListItem(GetString("NewsletterTemplate_Edit.DrpSubscription"), "2"); drpTemplateType.Items.Add(newItem); newItem = new ListItem(GetString("NewsletterTemplate_Edit.DrpUnsubscription"), "3"); drpTemplateType.Items.Add(newItem); drpTemplateType.SelectedIndex = 0; } } /// /// Sets data to database. /// protected void btnOK_Click(object sender, EventArgs e) { string errorMessage = new Validator().NotEmpty(txtTemplateDisplayName.Text.Trim(), GetString("general.requiresdisplayname")) .NotEmpty(txtTemplateName.Text.Trim(), GetString("NewsletterTemplate_Edit.ErrorEmptyName")) .IsCodeName(txtTemplateName.Text.Trim(), GetString("General.ErrorCodeNameInIdentifierFormat")).Result; if (String.IsNullOrEmpty(errorMessage)) { int siteId = CMSContext.CurrentSiteID; // TemplateName must to be unique EmailTemplateInfo emailTemplateObj = EmailTemplateInfoProvider.GetEmailTemplateInfo(txtTemplateName.Text.Trim(), siteId); // If templateName value is unique if (emailTemplateObj == null) { string type; int typeValue = Convert.ToInt32(drpTemplateType.SelectedValue); switch (typeValue) { default: case 0: type = "D"; // Double opt-in break; case 1: type = "I"; // Issue break; case 2: type = "S"; // Subscription break; case 3: type = "U"; // Unsubscription break; } // Create new item -> insert emailTemplateObj = new EmailTemplateInfo(); emailTemplateObj.TemplateType = type; emailTemplateObj.TemplateBody = string.Empty; emailTemplateObj.TemplateName = txtTemplateName.Text.Trim(); emailTemplateObj.TemplateHeader = "\n\n\n"; emailTemplateObj.TemplateFooter = "\n"; emailTemplateObj.TemplateDisplayName = txtTemplateDisplayName.Text.Trim(); emailTemplateObj.TemplateSiteID = siteId; EmailTemplateInfoProvider.SetEmailTemplateInfo(emailTemplateObj); URLHelper.Redirect("NewsletterTemplate_Edit.aspx?templateid=" + Convert.ToString(emailTemplateObj.TemplateID) + "&saved=1"); } else { lblError.Visible = true; lblError.Text = GetString("NewsletterTemplate_Edit.TemplateNameExists"); } } else { lblError.Visible = true; lblError.Text = errorMessage; } } }