private void BuildCheckList() { this.FlushTargets.Controls.Clear(); string str2 = Settings.DefaultPublishingTargets.ToLowerInvariant(); ListString str = new ListString(Registry.GetString("/Current_User/Publish/Targets")); // add master database Sitecore.Publishing.PublishManager.GetPublishingTargets(Context.ContentDatabase).ForEach(target => { string str3 = "pb_" + ShortID.Encode(target.ID); HtmlGenericControl child = new HtmlGenericControl("input"); this.FlushTargets.Controls.Add(child); child.Attributes["type"] = "checkbox"; child.ID = str3; bool flag = str2.IndexOf('|' + target.Key + '|', StringComparison.InvariantCulture) >= 0; if (str.Contains(target.ID.ToString())) { flag = true; } if (flag) { child.Attributes["checked"] = "checked"; } child.Disabled = !target.Access.CanWrite(); HtmlGenericControl control2 = new HtmlGenericControl("label"); this.FlushTargets.Controls.Add(control2); control2.Attributes["for"] = str3; control2.InnerText = target.DisplayName; this.FlushTargets.Controls.Add(new LiteralControl("<br>")); }); }
/// <summary> /// Builds the publishing targets. /// /// </summary> private void BuildPublishingTargets() { this.PublishingTargets.Controls.Clear(); Item itemNotNull = Sitecore.Client.GetItemNotNull("/sitecore/system/publishing targets"); ListString listString = new ListString(Registry.GetString("/Current_User/Publish/Targets")); string str1 = Settings.DefaultPublishingTargets.ToLowerInvariant(); ChildList children = itemNotNull.Children; if (children.Count <= 0) { this.SettingsPane.Visible = false; this.NoPublishingTarget.Visible = true; this.NextButton.Disabled = true; } else { HtmlGenericControl htmlGenericControl1 = (HtmlGenericControl)null; foreach (Item obj in children) { string str2 = "pb_" + ShortID.Encode(obj.ID); htmlGenericControl1 = new HtmlGenericControl("input"); this.PublishingTargets.Controls.Add((System.Web.UI.Control)htmlGenericControl1); htmlGenericControl1.Attributes["type"] = "checkbox"; htmlGenericControl1.ID = str2; bool flag = false;// str1.IndexOf((string)(object)'|' + (object)obj.Key + (string)(object)'|', StringComparison.InvariantCulture) >= 0; if (listString.Contains(obj.ID.ToString())) { flag = true; } if (flag) { htmlGenericControl1.Attributes["checked"] = "checked"; } htmlGenericControl1.Disabled = children.Count == 1 || !obj.Access.CanWrite(); HtmlGenericControl htmlGenericControl2 = new HtmlGenericControl("label"); this.PublishingTargets.Controls.Add((System.Web.UI.Control)htmlGenericControl2); htmlGenericControl2.Attributes["for"] = str2; htmlGenericControl2.InnerText = obj.DisplayName; this.PublishingTargets.Controls.Add((System.Web.UI.Control) new LiteralControl("<br>")); } if (children.Count != 1) { return; } this.PublishingTargetsPanel.Disabled = true; if (htmlGenericControl1 == null) { return; } htmlGenericControl1.Attributes["checked"] = "checked"; } }
/// <summary> /// Builds the Checkboxes to select indexes /// </summary> /// <param name="name">The name.</param> /// <param name="header">The header.</param> /// <param name="selected">The selected.</param> /// <param name="indexMap">The index map.</param> private void BuildIndexCheckbox(string name, string header, ListString selected, ListString indexMap) { Assert.ArgumentNotNull(name, "name"); Assert.ArgumentNotNull(header, "header"); Assert.ArgumentNotNull(selected, "selected"); Assert.ArgumentNotNull(indexMap, "indexMap"); var child = new Checkbox(); this.indexes.Controls.Add(child); child.ID = Control.GetUniqueID("dk_"); child.Header = header; child.Value = name; child.Checked = selected.Contains(name); indexMap.Add(child.ID); indexMap.Add(name); this.indexes.Controls.Add(new LiteralControl("<br />")); }
protected void Validator_SuppressValidator(string markerId) { Assert.ArgumentNotNull(markerId, "markerId"); Assert.IsTrue(UserOptions.ContentEditor.ShowValidatorBar, "Validator bar is switched off in Content Editor."); ValidatorCollection validators = ValidatorManager.GetValidators(ValidatorsMode.ValidatorBar, this.ValidatorsKey); var byMarkerID = validators.GetByMarkerID(markerId); if (byMarkerID != null) { Assert.IsNotNull(byMarkerID.ItemUri, "Item URI is null."); Item item = Database.GetItem(byMarkerID.ItemUri); if (item != null) { ListString str = new ListString(item["__Suppressed Validation Rules"]); Assert.IsNotNull(byMarkerID.ValidatorID, "Validator ID is null."); if (!str.Contains(byMarkerID.ValidatorID.ToString())) { str.Add(byMarkerID.ValidatorID.ToString()); using (new SecurityDisabler()) { item.Editing.BeginEdit(); item["__Suppressed Validation Rules"] = str.ToString(); item.Editing.EndEdit(); } validators.Remove(byMarkerID); WebUtil.SetSessionValue(this.ValidatorsKey + ValidatorsMode.ValidatorBar, validators); SheerResponse.Eval("scContent.validate()"); } } } }
protected void ToggleRibbonStrip(string id) { Assert.ArgumentNotNull(id, "id"); ListString str = new ListString(UserOptions.ContentEditor.VisibleStrips); if (str.Count == 0) { Database database = Factory.GetDatabase("core", false); Assert.IsNotNull(database, typeof(Database)); Item item = database.GetItem(ItemIDs.DefaultRibbon); Assert.IsNotNull(item, typeof(Ribbon)); foreach (Item item2 in item.Children) { Item item3 = item2; if (item3.TemplateID == TemplateIDs.Reference) { item3 = item3.Database.Items[item3["Reference"]]; } if (item3["Hidden by default"] != "1") { str.Add(item3.ID.ToString()); } } } if (str.Contains(id)) { if (str.Count > 1) { str.Remove(id); } else { SheerResponse.Alert("You cannot remove the last strip from the ribbon.", new string[0]); } } else { str.Add(id); } UserOptions.ContentEditor.VisibleStrips = str.ToString(); this.Reload(); }
protected void ShowRibbonContextMenu() { var contextMenu = new Sitecore.Web.UI.HtmlControls.Menu(); Database database = Factory.GetDatabase("core", false); Assert.IsNotNull(database, typeof(Database)); Item item = database.GetItem(ItemIDs.DefaultRibbon); Assert.IsNotNull(item, typeof(Ribbon)); ListString str = new ListString(UserOptions.ContentEditor.VisibleStrips); SheerResponse.DisableOutput(); foreach (Item item2 in item.Children) { Item strip = item2; if (strip.TemplateID == TemplateIDs.Reference) { strip = strip.Database.Items[strip["Reference"]]; } if (this.CanBeShown(strip)) { bool check = strip["Hidden by default"] != "1"; if (str.Count > 0) { check = str.Contains(strip.ID.ToString()); } contextMenu.Add("S" + strip.ID.ToShortID(), strip["Header"], string.Empty, string.Empty, "ToggleRibbonStrip(\"" + strip.ID + "\")", check, string.Empty, MenuItemType.Check); } } contextMenu.AddDivider(); contextMenu.Add("__Reset", "Reset", string.Empty, string.Empty, "ResetRibbonStrips", false, string.Empty, MenuItemType.Normal); CommandState hidden = CommandState.Hidden; Command command = CommandManager.GetCommand("ribbon:customize"); if (command != null) { hidden = CommandManager.QueryState(command, CommandContext.Empty); } if ((hidden == CommandState.Enabled) || (hidden == CommandState.Down)) { contextMenu.Add("__Customize", "Customize", string.Empty, string.Empty, "ribbon:customize", false, string.Empty, MenuItemType.Normal); } SheerResponse.EnableOutput(); SheerResponse.ShowContextMenu(Context.ClientPage.ClientRequest.Control, "contextmenu", contextMenu); }
protected virtual void BuildIndexCheckbox(string name, string header, ListString selected, ListString indexMap) { Assert.ArgumentNotNull(name, "name"); Assert.ArgumentNotNull(header, "header"); Assert.ArgumentNotNull(selected, "selected"); Assert.ArgumentNotNull(indexMap, "indexMap"); var child = new Checkbox(); Indexes.Controls.Add(child); child.ID = Control.GetUniqueID("dk_"); child.Header = header; child.Value = name; child.Checked = selected.Contains(name); indexMap.Add(child.ID); indexMap.Add(name); Indexes.Controls.Add(new LiteralControl("<br />")); }
private void NotifyUsers(ImportOptions options, int num, int num2, int num3, int num4, string pathToEmailReport) { try { Sitecore.Data.Database master = Sitecore.Modules.EmailCampaign.Util.GetContentDb(); MediaCreatorOptions md = new MediaCreatorOptions(); md.Destination = @"/sitecore/media library/Files/" + Sitecore.Configuration.Settings.GetSetting("RecipientImporterExt.PathToEmailReport", "/temp")+"/" + Path.GetFileNameWithoutExtension(pathToEmailReport); // Set options md.Database = master; // Set options MediaItem mediaItem = null; using (new SecurityDisabler()) // Use the SecurityDisabler object to override the security settings { // Create Media in database from file mediaItem = MediaManager.Creator.CreateFromFile(pathToEmailReport, md); } Sitecore.Data.Items.Item itemToSend = master.GetItem(Sitecore.Configuration.Settings.GetSetting("RecipientImporterExt.MessagePath", "/sitecore/content/Home/Email Campaign/Messages/Service Messages/Self-Service Subscription/Subscription Notification")); MessageItem messageItem = Sitecore.Modules.EmailCampaign.Factory.GetMessage(itemToSend); messageItem.Body = string.Format("Recipients imported: {0} <br/> E-mail addresses already exist: {1} <br/> E-mail addresses not provided: {2} <br/> Users not imported as required fields not available: {3}" + " <br/> You can check report file with the failed records here: {4}. <br/> Import finished at " + DateTime.Now.ToString(@"d/M/yyyy hh:mm:ss tt"), num, num2, num3, num4, pathToEmailReport); messageItem.Subject = "User import from " + Path.GetFileNameWithoutExtension(options.Filename) + " finished."; if (mediaItem != null) { messageItem.Attachments.Add(mediaItem); } SendingManager sendingManager = new SendingManager(messageItem); ListString usernamesToSend = new ListString(Sitecore.Configuration.Settings.GetSetting("RecipientImporterExt.SendTo", "sitecore\\admin"), ','); if (usernamesToSend.Count == 0) { Log.Info("RecipientImporterExt debug info: no users configured to send email to. Email will be sent only to the context user.", this); // return result; } else { foreach (string nameString in usernamesToSend) { Contact contactToSend = Sitecore.Modules.EmailCampaign.Factory.GetContactFromName(nameString); if (contactToSend != null) { Log.Info("RecipientImporterExt debug info: Sending notification about the import to " + contactToSend.Profile.Email, this); sendingManager.SendStandardMessage(contactToSend); } } } User user = Sitecore.Context.User; if (user != null && !usernamesToSend.Contains(user.Name)) { string username = user.Name; Contact contactToSend = Sitecore.Modules.EmailCampaign.Factory.GetContactFromName(username); if (contactToSend != null) { Log.Info("RecipientImporterExt debug info: Sending notification about the import to " + username, this); sendingManager.SendStandardMessage(contactToSend); } } } catch (Exception e) { Logging.LogError(e); } }