// Token: 0x06002F0C RID: 12044 RVA: 0x0010EF2C File Offset: 0x0010D12C private AnrManager.Options ReadAnrOptions() { AnrManager.Options options = new AnrManager.Options(); if (base.IsParameterSet("AB")) { options.ResolveOnlyFromAddressBook = (bool)base.GetParameter("AB"); } if (base.IsParameterSet("FSoneAnr")) { options.ResolveAgainstAllContacts = (bool)base.GetParameter("FSoneAnr"); } if (base.IsParameterSet("DefaultRT")) { options.DefaultRoutingType = (string)base.GetParameter("DefaultRT"); } if (base.IsParameterSet("OnlyDefaultRT")) { options.OnlyAllowDefaultRoutingType = (bool)base.GetParameter("OnlyDefaultRT"); } if (base.IsParameterSet("RBT")) { options.RecipientBlockType = (RecipientBlockType)base.GetParameter("RBT"); } return(options); }
public void Resolve() { ExTraceGlobals.MailCallTracer.TraceDebug((long)this.GetHashCode(), "RecipientWellEventHandler.Resolve"); AnrManager.Options anrOptions = this.ReadAnrOptions(); this.ResolveIndividualWell("To", anrOptions); this.ResolveIndividualWell("Cc", anrOptions); this.ResolveIndividualWell("Bcc", anrOptions); this.ResolveIndividualWell("From", anrOptions); this.UpdateCache(); }
// Token: 0x06002F16 RID: 12054 RVA: 0x0010F73C File Offset: 0x0010D93C private void ResolveIndividualWell(string name, AnrManager.Options anrOptions) { string[] array = (string[])base.GetParameter(name); if (array == null) { return; } anrOptions.ResolveContactsFirst = base.UserContext.UserOptions.CheckNameInContactsFirst; if (name == "From") { anrOptions.ResolveOnlyFromAddressBook = true; } this.Writer.Write("<div id=\"{0}\">", name); RecipientCache recipientCache = AutoCompleteCache.TryGetCache(OwaContext.Current.UserContext); for (int i = 0; i < array.Length; i++) { RecipientWell.ResolveAndRenderChunk(this.Writer, array[i], null, recipientCache, base.UserContext, anrOptions); } this.Writer.Write("</div>"); }
// Token: 0x06001E91 RID: 7825 RVA: 0x000B01D0 File Offset: 0x000AE3D0 internal static void ResolveAndRenderChunk(TextWriter writer, string chunk, ArrayList wellNodes, RecipientCache recipientCache, UserContext userContext, AnrManager.Options options) { if (writer == null) { throw new ArgumentNullException("writer"); } if (chunk == null) { throw new ArgumentNullException("chunk"); } if (userContext == null) { throw new ArgumentNullException("userContext"); } writer.Write("<div id=\"chk\">"); string[] array = Utilities.ParseRecipientChunk(chunk); if (array != null) { for (int i = 0; i < array.Length; i++) { string text = array[i].Trim(); if (text.IndexOf(Globals.HtmlDirectionCharacterString, StringComparison.Ordinal) != -1) { text = Utilities.RemoveHTMLDirectionCharacters(text); } if (text.Length > 0) { RecipientAddress recipientAddress = AnrManager.ResolveAnrString(text, options, userContext); RecipientWellNode recipientWellNode = new RecipientWellNode(text, null); if (recipientAddress != null) { recipientWellNode.DisplayName = recipientAddress.DisplayName; recipientWellNode.SmtpAddress = recipientAddress.SmtpAddress; recipientWellNode.AddressOrigin = recipientAddress.AddressOrigin; recipientWellNode.RoutingAddress = recipientAddress.RoutingAddress; recipientWellNode.RoutingType = recipientAddress.RoutingType; recipientWellNode.RecipientFlags = recipientAddress.RecipientFlags; recipientWellNode.StoreObjectId = recipientAddress.StoreObjectId; recipientWellNode.EmailAddressIndex = recipientAddress.EmailAddressIndex; recipientWellNode.ADObjectId = recipientAddress.ADObjectId; recipientWellNode.SipUri = recipientAddress.SipUri; recipientWellNode.MobilePhoneNumber = recipientAddress.MobilePhoneNumber; } if ((recipientWellNode.RoutingAddress != null || Utilities.IsMapiPDL(recipientWellNode.RoutingType)) && recipientCache != null) { string itemId = string.Empty; if (recipientWellNode.StoreObjectId != null) { itemId = recipientWellNode.StoreObjectId.ToBase64String(); } else if (recipientWellNode.ADObjectId != null) { itemId = Convert.ToBase64String(recipientWellNode.ADObjectId.ObjectGuid.ToByteArray()); } recipientCache.AddEntry(recipientWellNode.DisplayName, recipientWellNode.SmtpAddress, recipientWellNode.RoutingAddress, string.Empty, recipientWellNode.RoutingType, recipientWellNode.AddressOrigin, recipientWellNode.RecipientFlags, itemId, recipientWellNode.EmailAddressIndex, recipientWellNode.SipUri, recipientWellNode.MobilePhoneNumber); } recipientWellNode.Render(writer, userContext, RecipientWellNode.RenderFlags.RenderSkinnyHtml); if (wellNodes != null) { wellNodes.Add(recipientWellNode); } } } } writer.Write("</div>"); }
// Token: 0x06002F13 RID: 12051 RVA: 0x0010F384 File Offset: 0x0010D584 private void ResolveOneRecipientAndRenderResults(TextWriter output) { string text = (string)base.GetParameter("n"); if (text.IndexOf(Globals.HtmlDirectionCharacterString, StringComparison.Ordinal) != -1) { text = Utilities.RemoveHTMLDirectionCharacters(text); } List <RecipientAddress> list = new List <RecipientAddress>(); AnrManager.Options options = this.ReadAnrOptions(); AnrManager.ResolveOneRecipient(text, base.UserContext, list, options); if (list.Count == 0) { RecipientAddress recipientAddress = AnrManager.ResolveAnrStringToOneOffEmail(text, options); if (recipientAddress != null) { list.Add(recipientAddress); } } bool flag = false; output.Write("new Array("); foreach (RecipientAddress recipientAddress2 in list) { if (flag) { output.Write(","); } else { flag = true; } output.Write("new Recip(\""); if (recipientAddress2.DisplayName != null) { Utilities.JavascriptEncode(recipientAddress2.DisplayName, output); } output.Write("\",\""); if (recipientAddress2.RoutingAddress != null) { Utilities.JavascriptEncode(recipientAddress2.RoutingAddress, output); } output.Write("\",\""); if (recipientAddress2.SmtpAddress != null) { Utilities.JavascriptEncode(recipientAddress2.SmtpAddress, output); } output.Write("\",\""); if (recipientAddress2.Alias != null) { Utilities.JavascriptEncode(recipientAddress2.Alias, output); } output.Write("\",\""); if (recipientAddress2.RoutingType != null) { Utilities.JavascriptEncode(recipientAddress2.RoutingType, output); } output.Write("\",{0},\"", (int)recipientAddress2.AddressOrigin); if (recipientAddress2.ADObjectId != null) { Utilities.JavascriptEncode(Convert.ToBase64String(recipientAddress2.ADObjectId.ObjectGuid.ToByteArray()), output); } else if (recipientAddress2.StoreObjectId != null) { Utilities.JavascriptEncode(recipientAddress2.StoreObjectId.ToBase64String(), output); } output.Write("\","); output.Write(recipientAddress2.RecipientFlags); output.Write(","); output.Write((int)recipientAddress2.EmailAddressIndex); output.Write(",\""); if (base.UserContext.IsInstantMessageEnabled() && base.UserContext.InstantMessagingType == InstantMessagingTypeOptions.Ocs && recipientAddress2.SipUri != null) { Utilities.JavascriptEncode(recipientAddress2.SipUri, output); } output.Write("\",\""); if (base.UserContext.IsSmsEnabled && recipientAddress2.MobilePhoneNumber != null) { Utilities.JavascriptEncode(recipientAddress2.MobilePhoneNumber, output); } output.Write("\")"); } output.Write(")"); }