Exemple #1
0
        // Token: 0x06002E1D RID: 11805 RVA: 0x001074AC File Offset: 0x001056AC
        private OwaStoreObjectId GetLatestFlaggedOrNormalItem()
        {
            OwaStoreObjectId owaStoreObjectId = base.GetParameter("id") as OwaStoreObjectId;

            if (owaStoreObjectId == null || !owaStoreObjectId.IsConversationId)
            {
                return(owaStoreObjectId);
            }
            MailboxSession mailboxSession = (MailboxSession)owaStoreObjectId.GetSession(base.UserContext);
            Conversation   conversation   = Conversation.Load(mailboxSession, owaStoreObjectId.ConversationId, base.UserContext.IsIrmEnabled, new PropertyDefinition[]
            {
                ItemSchema.Id,
                StoreObjectSchema.ParentItemId,
                ItemSchema.ReceivedTime,
                ItemSchema.FlagStatus
            });

            conversation.ConversationTree.Sort(ConversationTreeSortOrder.ChronologicalDescending);
            IList <StoreObjectId> flagedItems = ConversationUtilities.GetFlagedItems(mailboxSession, conversation, owaStoreObjectId.ParentFolderId, new FlagStatus[]
            {
                FlagStatus.Flagged
            });

            if (flagedItems.Count > 0)
            {
                return(OwaStoreObjectId.CreateFromStoreObjectId(flagedItems[0], owaStoreObjectId));
            }
            StoreObjectId latestMessage = ConversationUtilities.GetLatestMessage(mailboxSession, conversation, owaStoreObjectId.ParentFolderId);

            if (latestMessage != null)
            {
                return(OwaStoreObjectId.CreateFromStoreObjectId(latestMessage, owaStoreObjectId));
            }
            return(null);
        }
Exemple #2
0
        internal void MarkPayloadAsRead()
        {
            string queryStringParameter = Utilities.GetQueryStringParameter(this.Request, "mrd", false);

            if (queryStringParameter != null)
            {
                JunkEmailStatus junkEmailStatus       = JunkEmailStatus.Unknown;
                string          queryStringParameter2 = Utilities.GetQueryStringParameter(this.Request, "JS", false);
                int             num;
                if (queryStringParameter2 != null && int.TryParse(queryStringParameter2, out num) && (num == 1 || num == 0))
                {
                    junkEmailStatus = (JunkEmailStatus)num;
                }
                OwaStoreObjectId   owaStoreObjectId = OwaStoreObjectId.CreateFromString(queryStringParameter);
                OwaStoreObjectId[] localItemIds     = ConversationUtilities.GetLocalItemIds(this.UserContext, new OwaStoreObjectId[]
                {
                    owaStoreObjectId
                }, null, new PropertyDefinition[]
                {
                    MessageItemSchema.IsRead
                }, (IStorePropertyBag propertyBag) => !ItemUtility.GetProperty <bool>(propertyBag, MessageItemSchema.IsRead, true));
                if (localItemIds.Length > 0)
                {
                    Utilities.MarkItemsAsRead(this.UserContext, localItemIds, junkEmailStatus, false);
                }
            }
        }
        protected override PolicyContextMenuBase InternalGetPolicyMenu(ref OwaStoreObjectId itemId)
        {
            if (itemId != null)
            {
                if (itemId.OwaStoreObjectIdType != OwaStoreObjectIdType.MailBoxObject && itemId.OwaStoreObjectIdType != OwaStoreObjectIdType.ArchiveMailboxObject && itemId.OwaStoreObjectIdType != OwaStoreObjectIdType.Conversation && itemId.OwaStoreObjectIdType != OwaStoreObjectIdType.ArchiveConversation)
                {
                    throw new OwaInvalidRequestException("Only (archive)mailbox and (archive)conversation objects can be handled.");
                }
                if (itemId.IsConversationId)
                {
                    OwaStoreObjectId[] allItemIds = ConversationUtilities.GetAllItemIds(base.UserContext, new OwaStoreObjectId[]
                    {
                        itemId
                    }, new StoreObjectId[0]);
                    if (allItemIds.Length == 1)
                    {
                        itemId = allItemIds[0];
                    }
                }
            }
            DeletePolicyContextMenu deletePolicyContextMenu = DeletePolicyContextMenu.Create(base.UserContext);

            if (itemId != null && !itemId.IsConversationId && itemId.IsStoreObjectId && itemId.StoreObjectId.IsFolderId)
            {
                StoreObjectId storeObjectId = itemId.StoreObjectId;
                StoreSession  session       = itemId.GetSession(base.UserContext);
                if (Utilities.IsDefaultFolderId(session, storeObjectId, DefaultFolderType.Inbox) || Utilities.IsDefaultFolderId(session, storeObjectId, DefaultFolderType.Drafts) || Utilities.IsDefaultFolderId(session, storeObjectId, DefaultFolderType.SentItems) || Utilities.IsDefaultFolderId(session, storeObjectId, DefaultFolderType.Notes) || Utilities.IsDefaultFolderId(session, storeObjectId, DefaultFolderType.JunkEmail) || Utilities.IsDefaultFolderId(session, storeObjectId, DefaultFolderType.DeletedItems))
                {
                    deletePolicyContextMenu.RenderCheckedOnly = true;
                }
            }
            return(deletePolicyContextMenu);
        }
        // Token: 0x06002E93 RID: 11923 RVA: 0x0010A058 File Offset: 0x00108258
        protected override OwaStoreObjectId GetSeekId()
        {
            OwaStoreObjectId owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("SId");

            if (owaStoreObjectId == null)
            {
                return(null);
            }
            if (!owaStoreObjectId.IsConversationId && this.IsConversationView)
            {
                ConversationId conversationId = ConversationUtilities.MapItemToConversation(base.UserContext, owaStoreObjectId);
                if (conversationId != null)
                {
                    this.newSeekId = OwaStoreObjectId.CreateFromConversationId(conversationId, base.DataFolder, null);
                }
            }
            else if (owaStoreObjectId.IsConversationId && !this.IsConversationView)
            {
                StoreObjectId storeObjectId = ConversationUtilities.MapConversationToItem(base.UserContext, owaStoreObjectId.ConversationId, OwaStoreObjectId.CreateFromStoreObject(base.DataFolder));
                if (storeObjectId != null)
                {
                    this.newSeekId = OwaStoreObjectId.CreateFromStoreObjectId(storeObjectId, owaStoreObjectId);
                }
            }
            return(this.newSeekId ?? owaStoreObjectId);
        }
        public void Load()
        {
            ExTraceGlobals.MailCallTracer.TraceDebug((long)this.GetHashCode(), "ConversationPartsDataSource.Load()");
            if (!base.UserHasRightToLoad)
            {
                return;
            }
            PropertyDefinition[] requestedProperties = base.GetRequestedProperties();
            MailboxSession       mailboxSession      = base.Folder.Session as MailboxSession;

            this.conversation = ConversationUtilities.LoadConversation(mailboxSession, this.conversationId, requestedProperties);
            this.conversation.TrimToNewest(Globals.MaxItemsInConversationExpansion);
            this.totalCount = this.conversation.ConversationTree.Count;
            if (this.totalCount == 0)
            {
                return;
            }
            this.conversation.ConversationTree.Sort(this.sortOrder);
            this.nodes = new IConversationTreeNode[this.totalCount];
            List <StoreObjectId> localItemIds = ConversationUtilities.GetLocalItemIds(this.conversation, base.Folder);
            int num = 0;

            foreach (IConversationTreeNode conversationTreeNode in this.conversation.ConversationTree)
            {
                ConversationUtilities.SortPropertyBags(conversationTreeNode, localItemIds, mailboxSession);
                this.nodes[num] = conversationTreeNode;
                num++;
            }
            if (0 < this.nodes.Length)
            {
                base.StartRange = 0;
                base.EndRange   = this.totalCount - 1;
            }
        }
        public void GetConversationAction()
        {
            OwaStoreObjectId owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("id");
            bool             flag             = ConversationUtilities.IsConversationIgnored(base.UserContext, owaStoreObjectId, null);

            this.SanitizingWriter.Write(flag ? "1" : "0");
        }
        // Token: 0x06002E9A RID: 11930 RVA: 0x0010A3F8 File Offset: 0x001085F8
        private void CopyOrMove(bool isCopy)
        {
            OwaStoreObjectId[] array             = (OwaStoreObjectId[])base.GetParameter("id");
            OwaStoreObjectId   owaStoreObjectId  = (OwaStoreObjectId)base.GetParameter("fId");
            OwaStoreObjectId   owaStoreObjectId2 = (OwaStoreObjectId)base.GetParameter("destId");

            if (!isCopy && owaStoreObjectId != null && Utilities.IsDefaultFolderId(base.UserContext.MailboxSession, owaStoreObjectId.StoreObjectId, DefaultFolderType.DeletedItems) && !Utilities.IsDefaultFolderId(base.UserContext.MailboxSession, owaStoreObjectId2.StoreObjectId, DefaultFolderType.DeletedItems))
            {
                foreach (OwaStoreObjectId owaStoreObjectId3 in array)
                {
                    ConversationUtilities.CancelIgnoreConversation(base.UserContext, owaStoreObjectId3, false);
                }
            }
            if (ConversationUtilities.ContainsConversationItem(base.UserContext, array))
            {
                OwaStoreObjectId[] localItemIds = ConversationUtilities.GetLocalItemIds(base.UserContext, array, owaStoreObjectId);
                if (localItemIds.Length == 0)
                {
                    return;
                }
                base.CopyOrMoveItems(isCopy, localItemIds);
            }
            else
            {
                base.CopyOrMoveItems(isCopy, null);
            }
            OwaStoreObjectId expId = (OwaStoreObjectId)base.GetParameter("expId");

            this.InternalExpandConversation(expId);
        }
Exemple #8
0
        public void ExpandItemParts()
        {
            ExTraceGlobals.MailCallTracer.TraceDebug((long)this.GetHashCode(), "ReadConversationEventHandler.ExpandItemParts");
            OwaStoreObjectId owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("CnvId");

            OwaStoreObjectId[]   array        = (OwaStoreObjectId[])base.GetParameter("IPId");
            Conversation         conversation = ConversationUtilities.LoadConversation(base.UserContext, owaStoreObjectId, ItemPartWriter.GetRequestedProperties());
            List <StoreObjectId> localItemIds = ConversationUtilities.GetLocalItemIds((MailboxSession)owaStoreObjectId.GetSession(base.UserContext), conversation, owaStoreObjectId.ParentFolderId);

            ConversationUtilities.MarkLocalNodes(conversation, localItemIds);
            conversation.OnBeforeItemLoad += ItemPartWriter.OnBeforeItemLoad;
            foreach (OwaStoreObjectId owaStoreObjectId2 in array)
            {
                this.SanitizingWriter.Write("<div id=\"");
                this.SanitizingWriter.Write(owaStoreObjectId2.ToString());
                this.SanitizingWriter.Write("\">");
                IConversationTreeNode conversationTreeNode;
                if (!conversation.ConversationTree.TryGetConversationTreeNode(owaStoreObjectId2.StoreObjectId, out conversationTreeNode))
                {
                    this.Writer.Write("<div id=divExp itemNotFound=1>&nbsp;</div>");
                }
                else
                {
                    MailboxSession session = (MailboxSession)owaStoreObjectId.GetSession(base.UserContext);
                    ConversationUtilities.SortPropertyBags(conversationTreeNode, localItemIds, session);
                    using (ItemPartWriter writer = ItemPartWriter.GetWriter(base.UserContext, this.Writer, owaStoreObjectId, conversation, conversationTreeNode))
                    {
                        writer.RenderExpandedItemPart(false, false, null);
                    }
                }
                this.SanitizingWriter.Write("</div>");
            }
        }
Exemple #9
0
        // Token: 0x060023B3 RID: 9139 RVA: 0x000CD618 File Offset: 0x000CB818
        protected override void RenderMenuItems(TextWriter output)
        {
            if (output == null)
            {
                throw new ArgumentNullException("output");
            }
            DefaultFolderType defaultFolderType = Utilities.GetDefaultFolderType(this.folder);

            if (defaultFolderType == DefaultFolderType.SentItems || defaultFolderType == DefaultFolderType.Outbox)
            {
                this.RenderMenuItemWithImageAndText(output, -1795472081, null, ColumnId.SentTime);
            }
            else
            {
                this.RenderMenuItemWithImageAndText(output, -1795472081, null, ColumnId.DeliveryTime);
            }
            this.RenderMenuItemWithImageAndText(output, 1309845117, null, ColumnId.From);
            this.RenderMenuItemWithImageAndText(output, 262509582, null, ColumnId.To);
            this.RenderMenuItemWithImageAndText(output, 1128018090, null, ColumnId.Size);
            this.RenderMenuItemWithImageAndText(output, 2014646167, "divSbj", ColumnId.Subject);
            this.RenderMenuItemWithImageAndText(output, 785343019, null, ColumnId.MailIcon);
            this.RenderMenuItemWithImageAndText(output, 1072079569, null, ColumnId.HasAttachment);
            this.RenderMenuItemWithImageAndText(output, 1569168155, null, ColumnId.Importance);
            this.RenderMenuItemWithImageAndText(output, -568934371, null, ColumnId.ConversationFlagStatus);
            this.RenderMenuItemWithImageAndText(output, 1587370059, null, ColumnId.FlagDueDate);
            this.RenderMenuItemWithImageAndText(output, 1580556595, null, ColumnId.FlagStartDate);
            if (ConversationUtilities.ShouldAllowConversationView(this.userContext, this.folder))
            {
                ContextMenu.RenderMenuDivider(output, null);
                string attributes = ConversationUtilities.IsConversationSortColumn(this.sortedColumn) ? "isCnv=1" : "isCnv=0";
                this.RenderMenuItemWithImageAndText(output, 207081000, ThemeFileId.CheckUnchecked, "gbyCnv", attributes);
            }
        }
        // Token: 0x06001F54 RID: 8020 RVA: 0x000B486C File Offset: 0x000B2A6C
        private bool RenderConversationSubject(TextWriter writer)
        {
            string itemProperty = this.DataSource.GetItemProperty <string>(ConversationItemSchema.ConversationTopic, string.Empty);

            Utilities.HtmlEncode(ConversationUtilities.MaskConversationSubject(itemProperty), writer);
            return(true);
        }
        // Token: 0x06002E9B RID: 11931 RVA: 0x0010A4EC File Offset: 0x001086EC
        private void DeleteConversationsOrItems(bool isPermanent)
        {
            DeleteItemInfo[]   array  = (DeleteItemInfo[])base.GetParameter("Itms");
            OwaStoreObjectId[] array2 = (OwaStoreObjectId[])base.GetParameter("Cnvs");
            if (array != null && array.Length > 0)
            {
                foreach (DeleteItemInfo deleteItemInfo in array)
                {
                    if (!deleteItemInfo.OwaStoreObjectId.IsOtherMailbox && !deleteItemInfo.OwaStoreObjectId.IsPublic && deleteItemInfo.OwaStoreObjectId.IsConversationId)
                    {
                        return;
                    }
                }
                base.InternalDelete(isPermanent, null);
                return;
            }
            if (array2 != null && array2.Length > 0)
            {
                OwaStoreObjectId   owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("fId");
                OwaStoreObjectId[] localItemIds     = ConversationUtilities.GetLocalItemIds(base.UserContext, array2, owaStoreObjectId);
                if (localItemIds.Length == 0)
                {
                    return;
                }
                new List <OwaStoreObjectId>();
                new List <OwaStoreObjectId>();
                if (!Utilities.IsDefaultFolderId(base.UserContext, owaStoreObjectId, DefaultFolderType.DeletedItems) && !isPermanent)
                {
                    OwaStoreObjectId[] array4 = localItemIds;
                    int j = 0;
                    while (j < array4.Length)
                    {
                        OwaStoreObjectId owaStoreObjectId2 = array4[j];
                        if (owaStoreObjectId2.StoreObjectId.ObjectType == StoreObjectType.MeetingRequest)
                        {
                            goto IL_FD;
                        }
                        if (owaStoreObjectId2.StoreObjectId.ObjectType == StoreObjectType.MeetingCancellation)
                        {
                            goto Block_12;
                        }
IL_10E:
                        j++;
                        continue;
Block_12:
                        try
                        {
IL_FD:
                            MeetingUtilities.DeleteMeetingMessageCalendarItem(owaStoreObjectId2.StoreObjectId);
                        }
                        catch (ObjectNotFoundException)
                        {
                        }
                        goto IL_10E;
                    }
                }
                base.InternalDelete(isPermanent, localItemIds);
            }
        }
Exemple #12
0
 protected override void SetupConversation(string topic)
 {
     currentConversation = ConversationUtilities.randomUnused(usedConversations);
     if (currentConversation != -1)
     {
         usedConversations[currentConversation] = true;
     }
 }
 // Token: 0x060023D2 RID: 9170 RVA: 0x000CE5E8 File Offset: 0x000CC7E8
 private SortBy[] GetSortByProperties()
 {
     SortBy[] result;
     if (base.SortedColumn == ColumnId.DeliveryTime)
     {
         result = new SortBy[]
         {
             new SortBy(ItemSchema.ReceivedTime, base.SortOrder)
         };
     }
     else if (base.SortedColumn == ColumnId.ConversationLastDeliveryTime)
     {
         result = new SortBy[]
         {
             new SortBy(ConversationItemSchema.ConversationLastDeliveryTime, base.SortOrder)
         };
     }
     else if (base.SortedColumn == ColumnId.ConversationFlagStatus)
     {
         result = new SortBy[]
         {
             new SortBy(ConversationItemSchema.ConversationFlagStatus, base.SortOrder),
             new SortBy(ConversationItemSchema.ConversationFlagCompleteTime, base.SortOrder),
             new SortBy(ConversationItemSchema.ConversationLastDeliveryTime, base.SortOrder)
         };
     }
     else if (ConversationUtilities.IsConversationSortColumn(base.SortedColumn))
     {
         Column column = ListViewColumns.GetColumn(base.SortedColumn);
         result = new SortBy[]
         {
             new SortBy(column[0], base.SortOrder),
             new SortBy(ConversationItemSchema.ConversationLastDeliveryTime, SortOrder.Descending)
         };
     }
     else if (base.SortedColumn == ColumnId.FlagDueDate || base.SortedColumn == ColumnId.FlagStartDate)
     {
         PropertyDefinition columnDefinition = (base.SortedColumn == ColumnId.FlagDueDate) ? ItemSchema.UtcDueDate : ItemSchema.UtcStartDate;
         result = new SortBy[]
         {
             new SortBy(ItemSchema.FlagStatus, base.SortOrder),
             new SortBy(columnDefinition, (base.SortOrder == SortOrder.Ascending) ? SortOrder.Descending : SortOrder.Ascending),
             new SortBy(ItemSchema.ItemColor, base.SortOrder),
             new SortBy(ItemSchema.ReceivedTime, base.SortOrder)
         };
     }
     else
     {
         Column column2 = ListViewColumns.GetColumn(base.SortedColumn);
         result = new SortBy[]
         {
             new SortBy(column2[0], base.SortOrder),
             new SortBy(ItemSchema.ReceivedTime, SortOrder.Descending)
         };
     }
     return(result);
 }
        // Token: 0x06002E97 RID: 11927 RVA: 0x0010A150 File Offset: 0x00108350
        private void MarkAsReadOrUnread(bool isRead)
        {
            OwaStoreObjectId[] array = (OwaStoreObjectId[])base.GetParameter("id");
            if (ConversationUtilities.ContainsConversationItem(base.UserContext, array))
            {
                List <OwaStoreObjectId> list  = new List <OwaStoreObjectId>();
                List <OwaStoreObjectId> list2 = new List <OwaStoreObjectId>();
                foreach (OwaStoreObjectId owaStoreObjectId in array)
                {
                    if (base.UserContext.SentItemsFolderId.Equals(owaStoreObjectId.ParentFolderId))
                    {
                        list.Add(owaStoreObjectId);
                    }
                    else
                    {
                        list2.Add(owaStoreObjectId);
                    }
                }
                List <OwaStoreObjectId>        list3  = new List <OwaStoreObjectId>();
                Func <IStorePropertyBag, bool> filter = (IStorePropertyBag propertyBag) => ItemUtility.GetProperty <bool>(propertyBag, MessageItemSchema.IsRead, isRead) != isRead;
                if (list2.Count > 0)
                {
                    list3.AddRange(ConversationUtilities.GetAllItemIds(base.UserContext, list2.ToArray(), new PropertyDefinition[]
                    {
                        MessageItemSchema.IsRead
                    }, filter, new StoreObjectId[]
                    {
                        base.UserContext.SentItemsFolderId
                    }));
                }
                if (list.Count > 0)
                {
                    list3.AddRange(ConversationUtilities.GetAllItemIds(base.UserContext, list.ToArray(), new PropertyDefinition[]
                    {
                        MessageItemSchema.IsRead
                    }, filter, new StoreObjectId[0]));
                }
                array = list3.ToArray();
            }
            if (array.Length > 500)
            {
                throw new OwaInvalidOperationException(string.Format(CultureInfo.InvariantCulture, "Marking {0} item(s) as read or unread in a single request is not supported", new object[]
                {
                    array.Length
                }));
            }
            JunkEmailStatus junkEmailStatus = JunkEmailStatus.NotJunk;

            if (base.IsParameterSet("JS"))
            {
                junkEmailStatus = (JunkEmailStatus)base.GetParameter("JS");
            }
            if (array.Length > 0)
            {
                Utilities.MarkItemsAsRead(base.UserContext, array, junkEmailStatus, !isRead);
            }
        }
Exemple #15
0
        protected void RenderMessageViewItemMetaDataExpandos(TextWriter writer)
        {
            this.InternalRenderItemMetaDataExpandos(writer);
            if (!this.DataSource.GetItemProperty <bool>(MessageItemSchema.IsRead, true))
            {
                writer.Write(" ");
                writer.Write("read");
                writer.Write("=\"0\"");
            }
            bool itemProperty = this.DataSource.GetItemProperty <bool>(MessageItemSchema.IsDraft, false);

            if (itemProperty)
            {
                writer.Write(" ");
                writer.Write("s");
                writer.Write("=\"Draft\"");
            }
            if (this.viewDescriptor.ContainsColumn(ColumnId.FlagDueDate) || this.viewDescriptor.ContainsColumn(ColumnId.ContactFlagDueDate))
            {
                this.RenderFlagState(writer);
            }
            writer.Write(" ");
            writer.Write("fPhsh");
            int  itemProperty2 = this.DataSource.GetItemProperty <int>(ItemSchema.EdgePcl, 1);
            bool itemProperty3 = this.DataSource.GetItemProperty <bool>(ItemSchema.LinkEnabled, false);

            if (JunkEmailUtilities.IsSuspectedPhishingItem(itemProperty2) && !itemProperty3)
            {
                writer.Write("=1");
            }
            else
            {
                writer.Write("=0");
            }
            bool itemProperty4 = this.DataSource.GetItemProperty <bool>(StoreObjectSchema.IsRestricted, false);

            if (itemProperty4 && base.UserContext.IsIrmEnabled)
            {
                ContentRight itemProperty5 = (ContentRight)this.DataSource.GetItemProperty <int>(MessageItemSchema.DRMRights, 0);
                RenderingUtilities.RenderExpando(writer, "fRplR", itemProperty5.IsUsageRightGranted(ContentRight.Reply) ? 0 : 1);
                RenderingUtilities.RenderExpando(writer, "fRAR", itemProperty5.IsUsageRightGranted(ContentRight.ReplyAll) ? 0 : 1);
                RenderingUtilities.RenderExpando(writer, "fFR", itemProperty5.IsUsageRightGranted(ContentRight.Forward) ? 0 : 1);
            }
            if (ConversationUtilities.IsConversationExcludedType(this.DataSource.GetItemClass()))
            {
                RenderingUtilities.RenderExpando(writer, "fExclCnv", 1);
            }
            this.RenderMeetingRequestExpandos(writer);
            if (this.RenderLastModifiedTime)
            {
                this.RenderLastModifiedTimeExpando(writer);
            }
        }
Exemple #16
0
 protected override void SetupConversation(string topic)
 {
     Debug.Log(topic);
     if (topic == "Ice Cream" && !icecream)
     {
         currentConversation = -2;
         conversedBefore     = true;
         icecream            = true;
     }
     else if (topic == "Toothbrush" && !toothbrush)
     {
         currentConversation = -3;
         conversedBefore     = true;
         toothbrush          = true;
     }
     else if (!conversedBefore)
     {
         currentConversation = 0;
         conversedBefore     = true;
     }
     //else if (likeAmount < 10)
     else if (likeAmount >= 20)
     {
         currentConversation = 7;
     }
     else
     {
         currentConversation = ConversationUtilities.randomUnused(usedHateConversations);
         if (currentConversation != -1)
         {
             usedHateConversations[currentConversation] = true;
             currentConversation += 1;
         }
     }/* else if (story.filthiness > 20)
       * {
       * currentConversation = 5 + ConversationUtilities.randomUnused(usedLikeConversations);
       * if (currentConversation != -1)
       * {
       *     usedLikeConversations[currentConversation - 4] = true;
       * }
       * } else
       * {
       * currentConversation = 1 + ConversationUtilities.randomUnused(usedHateConversations);
       * if (currentConversation != -1)
       * {
       *     usedHateConversations[currentConversation] = true;
       * }
       * }*/
      //currentConversation = 6;
 }
        protected void RenderConversationTopic()
        {
            string text = string.Empty;

            if (ConversationUtilities.IsSmsConversation(this.conversation))
            {
                text = ConversationUtilities.GenerateSmsConversationTitle(this.sentItemsFolderId, this.conversation);
            }
            if (string.IsNullOrEmpty(text))
            {
                text = this.conversation.Topic;
            }
            Utilities.SanitizeHtmlEncode(ConversationUtilities.MaskConversationSubject(text), base.Response.Output);
        }
Exemple #18
0
 // Token: 0x06002C69 RID: 11369 RVA: 0x000F7858 File Offset: 0x000F5A58
 private List <OwaStoreObjectId> GetItemsToAttachIds()
 {
     OwaStoreObjectId[] array = (OwaStoreObjectId[])base.GetParameter("ExIds");
     if (ConversationUtilities.ContainsConversationItem(base.UserContext, array))
     {
         OwaStoreObjectId localFolderId = (OwaStoreObjectId)base.GetParameter("FId");
         array = ConversationUtilities.GetLocalItemIds(base.UserContext, array, localFolderId);
     }
     if (array != null)
     {
         return(new List <OwaStoreObjectId>(array));
     }
     return(null);
 }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            string parameter = base.GetParameter("id", true);

            this.searchWords    = base.GetParameter("sw", false);
            this.conversationId = OwaStoreObjectId.CreateFromString(parameter);
            this.conversation   = ConversationUtilities.LoadConversation(base.UserContext, this.conversationId, ItemPartWriter.GetRequestedProperties());
            this.conversation.TrimToNewest(Globals.MaxItemsInConversationReadingPane);
            MailboxSession mailboxSession = (MailboxSession)this.conversationId.GetSession(base.UserContext);

            this.sentItemsFolderId = mailboxSession.GetDefaultFolderId(DefaultFolderType.SentItems);
            this.localItemIds      = ConversationUtilities.GetLocalItemIds(mailboxSession, this.conversation, this.conversationId.ParentFolderId);
            base.OwaContext.ShouldDeferInlineImages = !base.IsInOEHResponse;
            this.conversation.OnBeforeItemLoad     += ItemPartWriter.OnBeforeItemLoad;
        }
        protected void RenderDataExpandos()
        {
            MailboxSession   mailboxSession       = (MailboxSession)this.conversationId.GetSession(base.UserContext);
            OwaStoreObjectId deletedItemsFolderId = base.UserContext.GetDeletedItemsFolderId(mailboxSession);

            RenderingUtilities.RenderExpando(base.SanitizingResponse, "sCnvId", this.conversationId.ToString());
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "iMR", (int)base.UserContext.UserOptions.PreviewMarkAsRead);
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "iMRDly", base.UserContext.UserOptions.MarkAsReadDelaytime);
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "fHideDelItems", ConversationUtilities.HideDeletedItems ? 1 : 0);
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "sDeletedItemsId", deletedItemsFolderId.ToString());
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "iGC", ConversationUtilities.GetGlobalCount(this.conversation));
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "iC", this.localItemIds.Count);
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "iSort", (int)base.UserContext.UserOptions.ConversationSortOrder);
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "iMaxItemPrts", Globals.MaxItemsInConversationReadingPane);
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "fIsConversationIgnored", this.IsIgnoredConversation ? 1 : 0);
            string text = string.Format(CultureInfo.InvariantCulture, "<a id=\"aIbBlk\" href=\"#\">{0}</a>", new object[]
            {
                LocalizedStrings.GetHtmlEncoded(469213884)
            });
            string value = string.Format(CultureInfo.InvariantCulture, LocalizedStrings.GetNonEncoded(2063285740), new object[]
            {
                text
            });

            RenderingUtilities.RenderExpando(base.SanitizingResponse, "L_ImgFltBlock", value);
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "L_ImgFltCompBlock", SanitizedHtmlString.FromStringId(-1196115124));
            text = string.Format(CultureInfo.InvariantCulture, "<a id=\"aIbNotSup\" href=\"#\">{0}</a>", new object[]
            {
                LocalizedStrings.GetHtmlEncoded(1099573627)
            });
            value = string.Format(CultureInfo.InvariantCulture, LocalizedStrings.GetNonEncoded(-1170788421), new object[]
            {
                text
            });
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "L_TypeNotSup", value);
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "L_OpnInOlk", SanitizedHtmlString.FromStringId(1305715400));
            text = string.Format(CultureInfo.InvariantCulture, "<a id=\"aIbReadRcp\" href=\"#\">{0}</a>", new object[]
            {
                LocalizedStrings.GetHtmlEncoded(1190033799)
            });
            RenderingUtilities.RenderExpando(base.SanitizingResponse, "L_ReadRcp", SanitizedHtmlString.Format("{0} {1}", new object[]
            {
                SanitizedHtmlString.FromStringId(115261126),
                text
            }));
        }
 // Token: 0x06002D28 RID: 11560 RVA: 0x000FDCF8 File Offset: 0x000FBEF8
 private OwaStoreObjectId[] GetItemIdsFromParameter()
 {
     OwaStoreObjectId[] array = (OwaStoreObjectId[])base.GetParameter("id");
     if (ConversationUtilities.ContainsConversationItem(base.UserContext, array))
     {
         OwaStoreObjectId localFolderId = (OwaStoreObjectId)base.GetParameter("fId");
         array = ConversationUtilities.GetLocalItemIds(base.UserContext, array, localFolderId);
     }
     if (array.Length > 500)
     {
         throw new OwaInvalidOperationException(string.Format(CultureInfo.InvariantCulture, "Setting move policy on {0} item(s) in a single request is not supported", new object[]
         {
             array.Length
         }));
     }
     return(array);
 }
Exemple #22
0
 protected override void SetupConversation(string topic)
 {
     if (!conversedBefore)
     {
         currentConversation = 0;
         conversedBefore     = true;
     }
     else
     {
         currentConversation = ConversationUtilities.randomUnused(usedConversations);
         if (currentConversation != -1)
         {
             usedConversations[currentConversation] = true;
             currentConversation += 1;
         }
     }
 }
        public void IgnoreConversations()
        {
            DeleteItemInfo[]   array  = (DeleteItemInfo[])base.GetParameter("Itms");
            OwaStoreObjectId[] array2 = (OwaStoreObjectId[])base.GetParameter("Cnvs");
            if (array != null)
            {
                if (array2 != null)
                {
                    throw new OwaInvalidRequestException("IgnoreConversations does not accept both conversation IDs and items.");
                }
                if (array.Length > 500)
                {
                    throw new OwaInvalidOperationException(string.Format(CultureInfo.InvariantCulture, "Calling ignore conversation on {0} item(s) in a single request is not supported", new object[]
                    {
                        array.Length
                    }));
                }
                OwaStoreObjectId        owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("fId");
                MailboxSession          session          = (MailboxSession)owaStoreObjectId.GetSession(base.UserContext);
                List <OwaStoreObjectId> list             = new List <OwaStoreObjectId>(array.Length);
                using (Folder folder = Folder.Bind(session, owaStoreObjectId.StoreObjectId))
                {
                    foreach (DeleteItemInfo deleteItemInfo in array)
                    {
                        ConversationId conversationId = ConversationUtilities.MapItemToConversation(base.UserContext, deleteItemInfo.OwaStoreObjectId);
                        if (conversationId != null)
                        {
                            list.Add(OwaStoreObjectId.CreateFromConversationId(conversationId, folder, null));
                        }
                    }
                }
                array2 = list.ToArray();
            }
            base.CheckSizeOfBatchOperation(array2);
            bool flag = true;

            foreach (OwaStoreObjectId conversationId2 in array2)
            {
                flag &= ConversationUtilities.IgnoreConversation(base.UserContext, conversationId2);
            }
            if (!flag)
            {
                base.RenderErrorResult("errDel", 166628739);
            }
        }
        protected override void RenderHeaders(TextWriter writer)
        {
            string value;

            Strings.IDs localizedID;
            switch (base.SortOrder)
            {
            case SortOrder.Ascending:
                value       = ListViewHeaders2.SortDescending;
                localizedID = base.SortedColumn.SortBoundaries.AscendingID;
                goto IL_47;
            }
            value       = ListViewHeaders2.SortAscending;
            localizedID = base.SortedColumn.SortBoundaries.DescendingID;
IL_47:
            writer.Write("<table id=\"");
            writer.Write("tblH");
            writer.Write("\" class=\"abHdr\" cellspacing=\"0\" cellpadding=\"1\" dir=\"");
            writer.Write(base.UserContext.IsRtl ? "rtl" : "ltr");
            writer.Write("\">");
            writer.Write("<tr>");
            writer.Write("<td nowrap id=\"tdAB\">");
            Strings.IDs localizedID2 = -1809061181;
            if (ConversationUtilities.IsConversationSortColumn(base.SortedColumn.Id))
            {
                localizedID2 = 1872724609;
            }
            writer.Write(string.Format(CultureInfo.InvariantCulture, LocalizedStrings.GetHtmlEncoded(localizedID2), new object[]
            {
                LocalizedStrings.GetHtmlEncoded(base.SortedColumn.SortBoundaries.TextID)
            }));
            writer.Write("&nbsp;&nbsp;");
            this.userContext.RenderThemeImage(writer, ThemeFileId.DownButton3, null, new object[0]);
            writer.Write("</td>");
            writer.Write("<td id=\"tdSO\" class=\"v ");
            writer.Write(base.UserContext.IsRtl ? "l" : "r");
            writer.Write("\" nowrap sO=\"");
            writer.Write(value);
            writer.Write("\">");
            writer.Write(LocalizedStrings.GetHtmlEncoded(localizedID));
            writer.Write("</td>");
            writer.Write("</tr>");
            writer.Write("</table>");
        }
 protected override void SetupConversation(string topic)
 {
     if (!talkedBefore)
     {
         currentConversation = 0;
         talkedBefore        = true;
     }
     else if (story.hasCigarette)
     {
         currentConversation = 1;
     }
     else
     {
         currentConversation = ConversationUtilities.randomUnused(usedConversations);
         if (currentConversation != -1)
         {
             usedConversations[currentConversation] = true;
         }
     }
 }
        public void PrereadMessages()
        {
            OwaStoreObjectId owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("fId");
            MailboxSession   mailboxSession   = owaStoreObjectId.GetSession(base.UserContext) as MailboxSession;

            OwaStoreObjectId[] array  = (OwaStoreObjectId[])base.GetParameter("Itms");
            StoreId[]          array2 = null;
            if (mailboxSession == null)
            {
                throw new OwaInvalidRequestException("Session type does not support preread.");
            }
            if (array.Length == 0)
            {
                throw new ArgumentNullException("itemIds cannot be empty");
            }
            try
            {
                if (this.IsConversationView)
                {
                    array2 = ConversationUtilities.GetPrereadItemIds(mailboxSession, array);
                }
                else
                {
                    array2 = new StoreId[array.Length];
                    for (int i = 0; i < array.Length; i++)
                    {
                        array2[i] = Utilities.TryGetStoreId(array[i]);
                    }
                }
            }
            catch (ArgumentNullException exception)
            {
                if (Globals.SendWatsonReports)
                {
                    ExWatson.AddExtraData(this.GetExtraWatsonData(array));
                    ExWatson.SendReport(exception, ReportOptions.None, null);
                    return;
                }
            }
            mailboxSession.PrereadMessages(array2);
        }
Exemple #27
0
 // Token: 0x06002EA0 RID: 11936 RVA: 0x0010A70C File Offset: 0x0010890C
 protected override PolicyContextMenuBase InternalGetPolicyMenu(ref OwaStoreObjectId itemId)
 {
     if (itemId != null)
     {
         if (itemId.OwaStoreObjectIdType != OwaStoreObjectIdType.MailBoxObject && itemId.OwaStoreObjectIdType != OwaStoreObjectIdType.Conversation)
         {
             throw new OwaInvalidRequestException("Only mailbox and conversation objects can be handled.");
         }
         if (itemId.IsConversationId)
         {
             OwaStoreObjectId[] allItemIds = ConversationUtilities.GetAllItemIds(base.UserContext, new OwaStoreObjectId[]
             {
                 itemId
             }, new StoreObjectId[0]);
             if (allItemIds.Length == 1)
             {
                 itemId = allItemIds[0];
             }
         }
     }
     return(MovePolicyContextMenu.Create(base.UserContext));
 }
Exemple #28
0
        // Token: 0x06001F8A RID: 8074 RVA: 0x000B57B8 File Offset: 0x000B39B8
        internal void RenderConversationParts(TextWriter writer, OwaStoreObjectId conversationId, Folder contextFolder, Folder dataFolder)
        {
            ExDateTime?lastDeliveryTime = ConversationUtilities.GetLastDeliveryTime(this.ConversationPartsDataSource.Conversation);

            writer.Write("<div id=\"");
            writer.Write("tblExp");
            writer.Write("\" ");
            writer.Write("expId");
            writer.Write("=\"");
            Utilities.HtmlEncode(conversationId.ToString(), writer);
            writer.Write("\" ");
            writer.Write("iGC");
            writer.Write("=");
            writer.Write(ConversationUtilities.GetGlobalCount(this.ConversationPartsDataSource.Conversation));
            writer.Write(">");
            FolderViewStates    folderViewStates    = base.UserContext.GetFolderViewStates(contextFolder);
            ReadingPanePosition readingPanePosition = folderViewStates.ReadingPanePosition;
            int num;

            if (readingPanePosition == ReadingPanePosition.Right)
            {
                num = folderViewStates.ViewWidth;
            }
            else
            {
                num = 800;
            }
            int num2 = (num - ListViewColumns.GetColumn(ColumnId.DeliveryTime).Width - ListViewColumns.GetColumn(ColumnId.MailIcon).Width - ListViewColumns.GetColumn(ColumnId.From).Width - ListViewColumns.GetColumn(ColumnId.Importance).Width - ListViewColumns.GetColumn(ColumnId.HasAttachment).Width - ListViewColumns.GetColumn(ColumnId.Categories).Width - ListViewColumns.GetColumn(ColumnId.FlagDueDate).Width - 18) / 4;

            num2 = Math.Max(num2, 0);
            List <StoreObjectId> localItemIds = ConversationUtilities.GetLocalItemIds(this.ConversationPartsDataSource.Conversation, dataFolder);

            ConversationUtilities.MarkLocalNodes(this.ConversationPartsDataSource.Conversation, localItemIds);
            while (this.DataSource.MoveNext())
            {
                this.RenderConversationPartRow(writer, contextFolder, dataFolder, lastDeliveryTime, num2);
            }
            writer.Write("</div>");
        }
Exemple #29
0
        public void Refresh()
        {
            ExTraceGlobals.MailCallTracer.TraceDebug((long)this.GetHashCode(), "ReadConversationEventHandler.Refresh");
            OwaStoreObjectId owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("CnvId");

            OwaStoreObjectId[] expandedIds    = (OwaStoreObjectId[])base.GetParameter("ExpIds");
            int[]        expandedInternetMIds = (int[])base.GetParameter("ExpInternetMIds");
            Conversation conversation         = ConversationUtilities.LoadConversation(base.UserContext, owaStoreObjectId, ItemPartWriter.GetRequestedProperties());

            conversation.TrimToNewest(Globals.MaxItemsInConversationReadingPane);
            MailboxSession       session      = (MailboxSession)owaStoreObjectId.GetSession(base.UserContext);
            List <StoreObjectId> localItemIds = ConversationUtilities.GetLocalItemIds(session, conversation, owaStoreObjectId.ParentFolderId);

            conversation.OnBeforeItemLoad += ItemPartWriter.OnBeforeItemLoad;
            this.Writer.Write("<div id=divRfrsh");
            RenderingUtilities.RenderExpando(this.Writer, "iGC", ConversationUtilities.GetGlobalCount(conversation));
            RenderingUtilities.RenderExpando(this.Writer, "iC", localItemIds.Count);
            RenderingUtilities.RenderExpando(this.Writer, "iSort", (int)base.UserContext.UserOptions.ConversationSortOrder);
            this.Writer.Write(">");
            ConversationUtilities.RenderItemParts(this.Writer, base.UserContext, owaStoreObjectId, conversation, expandedIds, expandedInternetMIds, localItemIds, null, false);
            this.Writer.Write("</div>");
        }
        // Token: 0x06002971 RID: 10609 RVA: 0x000E99D0 File Offset: 0x000E7BD0
        protected override Toolbar CreateListToolbar()
        {
            MessageItemManageToolbar        toolbar  = new MessageItemManageToolbar(base.IsPublicFolder, ConversationUtilities.ShouldAllowConversationView(base.UserContext, base.Folder), base.IsInDeleteItems || this.IsJunkMailFolder, this.IsMultiLine, base.IsOtherMailboxFolder, base.UserContext.IsWebPartRequest, base.Folder.ClassName, this.ReadingPanePosition, this.IsConversationView, base.UserContext.UserOptions.ConversationSortOrder == ConversationSortOrder.ChronologicalNewestOnTop, base.UserContext.UserOptions.ShowTreeInListView, base.IsInDeleteItems || base.IsDeletedItemsSubFolder, this.IsJunkMailFolder);
            MessageViewManageToolbar        toolbar2 = new MessageViewManageToolbar();
            MessageViewActionToolbar        toolbar3 = new MessageViewActionToolbar(this.IsJunkMailFolder);
            MessageViewActionsButtonToolbar toolbar4 = new MessageViewActionsButtonToolbar();

            return(new MultipartToolbar(new MultipartToolbar.ToolbarInfo[]
            {
                new MultipartToolbar.ToolbarInfo(toolbar, "divItemToolbar"),
                new MultipartToolbar.ToolbarInfo(toolbar2, "divViewToolbar"),
                new MultipartToolbar.ToolbarInfo(toolbar3, "divReplyForwardToolbar"),
                new MultipartToolbar.ToolbarInfo(toolbar4, "divActionsButtonToolbar")
            }));
        }