// Token: 0x06001BAE RID: 7086 RVA: 0x0006A460 File Offset: 0x00068660 protected override bool InternalExecute() { bool result; try { this.linkStats.linkHash = LinkClickedSignalStats.GenerateObfuscatingHash(this.url); string text = this.GetSharePointUrl(); if (text == null) { this.linkStats.isSPURLValid = false; this.Logger.LogWarning("No valid SharePoint Url found, aborting.", new object[0]); result = false; } else { text = text.TrimEnd(new char[] { '/' }); if (this.FilterUrl(this.url, text)) { this.linkStats.isInternalLink = true; this.Logger.LogInfo("The clicked Url is internal, skipping the signal.", new object[0]); result = true; } else { List <string> recipients = null; string sender = null; if (this.GetRecipients(out recipients, out sender)) { SharePointSignalRestDataProvider sharePointSignalRestDataProvider = new SharePointSignalRestDataProvider(); sharePointSignalRestDataProvider.AddAnalyticsSignalSource(new LinkClickedSignalSource(sender, this.url, this.title, this.description, this.imgurl, this.imgdimensions, recipients)); this.linkStats.isValidSignal = true; } result = true; } } } catch (Exception ex) { this.Logger.LogWarning("Got exception of type: {0}", new object[] { ex.GetType().ToString() }); throw; } finally { this.Logger.LogInfo(this.linkStats.GetLinkClickedSignalStatsLogString(), new object[0]); ((TraceLogger)this.Logger).Close(); this.logger = null; } return(result); }
// Token: 0x06001BAC RID: 7084 RVA: 0x0006A334 File Offset: 0x00068534 internal bool GetRecipients(out List <string> recipients, out string sender) { recipients = null; sender = null; MessageType messageType = this.GetMailMessage(); if (messageType == null) { this.Logger.LogWarning("Unable to get mail item.", new object[0]); return(false); } if (messageType.From == null) { this.Logger.LogInfo("No sender found in the mail, the From field was empty.", new object[0]); return(false); } if ((messageType.ToRecipients == null || messageType.ToRecipients.Length == 0) && (messageType.CcRecipients == null || messageType.CcRecipients.Length == 0)) { this.Logger.LogInfo("No To or CC recipients found in mail.", new object[0]); return(false); } sender = messageType.From.Mailbox.EmailAddress; this.linkStats.userHash = LinkClickedSignalStats.GenerateObfuscatingHash(sender); List <EmailAddressWrapper> list = new List <EmailAddressWrapper>(messageType.ToRecipients ?? new EmailAddressWrapper[0]); list.AddRange(messageType.CcRecipients ?? new EmailAddressWrapper[0]); recipients = this.GetOpenDLs(list.ToArray()); if (recipients.Count == 0) { this.Logger.LogInfo("No open public DLs or unified groups found in mail.", new object[0]); recipients = null; sender = null; return(false); } return(true); }