| 623 | | NSString *htmlMessage; |
|---|
| 624 | | |
|---|
| 625 | | if([message containsAttachments]) { |
|---|
| 626 | | NSRange limitRange; |
|---|
| 627 | | NSRange effectiveRange; |
|---|
| 628 | | id attributeValue; |
|---|
| | 632 | NSString *encodedMessage; |
|---|
| | 633 | |
|---|
| | 634 | if (shouldSendHTMLToObject([inContentMessage destination])) { |
|---|
| | 635 | if([message containsAttachments]) { |
|---|
| | 636 | NSRange limitRange; |
|---|
| | 637 | NSRange effectiveRange; |
|---|
| | 638 | id attributeValue; |
|---|
| | 639 | |
|---|
| | 640 | limitRange = NSMakeRange(0, [message length]); |
|---|
| | 641 | |
|---|
| | 642 | while (limitRange.length > 0) { |
|---|
| | 643 | attributeValue = [message attribute:NSAttachmentAttributeName |
|---|
| | 644 | atIndex:limitRange.location |
|---|
| | 645 | longestEffectiveRange:&effectiveRange |
|---|
| | 646 | inRange:limitRange]; |
|---|
| | 647 | if([attributeValue respondsToSelector:@selector(setImageClass:)]) |
|---|
| | 648 | [(AITextAttachmentExtension *)attributeValue setImageClass:@"scaledToFitImage"]; |
|---|
| | 649 | limitRange = NSMakeRange(NSMaxRange(effectiveRange), |
|---|
| | 650 | NSMaxRange(limitRange) - NSMaxRange(effectiveRange)); |
|---|
| | 651 | } |
|---|
| | 652 | } |
|---|
| 630 | | limitRange = NSMakeRange(0, [message length]); |
|---|
| | 654 | static AIHTMLDecoder *messageEncoder = nil; |
|---|
| | 655 | if (!messageEncoder) { |
|---|
| | 656 | messageEncoder = [[AIHTMLDecoder alloc] init]; |
|---|
| | 657 | [messageEncoder setIncludesHeaders:YES]; |
|---|
| | 658 | [messageEncoder setIncludesFontTags:YES]; |
|---|
| | 659 | [messageEncoder setClosesFontTags:NO]; |
|---|
| | 660 | [messageEncoder setIncludesStyleTags:YES]; |
|---|
| | 661 | [messageEncoder setIncludesColorTags:YES]; |
|---|
| | 662 | [messageEncoder setEncodesNonASCII:NO]; |
|---|
| | 663 | [messageEncoder setPreservesAllSpaces:NO]; |
|---|
| | 664 | [messageEncoder setUsesAttachmentTextEquivalents:NO]; |
|---|
| | 665 | [messageEncoder setOnlyConvertImageAttachmentsToIMGTagsWhenSendingAMessage:YES]; |
|---|
| | 666 | [messageEncoder setOnlyUsesSimpleTags:NO]; |
|---|
| | 667 | [messageEncoder setAllowAIMsubprofileLinks:YES]; |
|---|
| | 668 | } |
|---|
| 632 | | while (limitRange.length > 0) { |
|---|
| 633 | | attributeValue = [message attribute:NSAttachmentAttributeName |
|---|
| 634 | | atIndex:limitRange.location |
|---|
| 635 | | longestEffectiveRange:&effectiveRange |
|---|
| 636 | | inRange:limitRange]; |
|---|
| 637 | | if([attributeValue respondsToSelector:@selector(setImageClass:)]) |
|---|
| 638 | | [(AITextAttachmentExtension *)attributeValue setImageClass:@"scaledToFitImage"]; |
|---|
| 639 | | limitRange = NSMakeRange(NSMaxRange(effectiveRange), |
|---|
| 640 | | NSMaxRange(limitRange) - NSMaxRange(effectiveRange)); |
|---|
| | 670 | id joscarDataForThisMessage = nil; |
|---|
| | 671 | encodedMessage = [joscarAdapter processOutgoingMessage:[messageEncoder encodeHTML:message |
|---|
| | 672 | imagesPath:NSTemporaryDirectory()] |
|---|
| | 673 | joscarData:&joscarDataForThisMessage]; |
|---|
| | 674 | if (joscarDataForThisMessage) { |
|---|
| | 675 | [inContentMessage setEncodedMessageAccountData:joscarDataForThisMessage]; |
|---|
| 642 | | } |
|---|
| 643 | | |
|---|
| 644 | | static AIHTMLDecoder *messageEncoder = nil; |
|---|
| 645 | | if (!messageEncoder) { |
|---|
| 646 | | messageEncoder = [[AIHTMLDecoder alloc] init]; |
|---|
| 647 | | [messageEncoder setIncludesHeaders:YES]; |
|---|
| 648 | | [messageEncoder setIncludesFontTags:YES]; |
|---|
| 649 | | [messageEncoder setClosesFontTags:NO]; |
|---|
| 650 | | [messageEncoder setIncludesStyleTags:YES]; |
|---|
| 651 | | [messageEncoder setIncludesColorTags:YES]; |
|---|
| 652 | | [messageEncoder setEncodesNonASCII:NO]; |
|---|
| 653 | | [messageEncoder setPreservesAllSpaces:NO]; |
|---|
| 654 | | [messageEncoder setUsesAttachmentTextEquivalents:NO]; |
|---|
| 655 | | [messageEncoder setOnlyConvertImageAttachmentsToIMGTagsWhenSendingAMessage:YES]; |
|---|
| 656 | | [messageEncoder setOnlyUsesSimpleTags:NO]; |
|---|
| 657 | | [messageEncoder setAllowAIMsubprofileLinks:YES]; |
|---|
| 658 | | } |
|---|
| 659 | | |
|---|
| 660 | | id joscarDataForThisMessage = nil; |
|---|
| 661 | | htmlMessage = [joscarAdapter processOutgoingMessage:[messageEncoder encodeHTML:message |
|---|
| 662 | | imagesPath:NSTemporaryDirectory()] |
|---|
| 663 | | joscarData:&joscarDataForThisMessage]; |
|---|
| 664 | | if (joscarDataForThisMessage) { |
|---|
| 665 | | [inContentMessage setEncodedMessageAccountData:joscarDataForThisMessage]; |
|---|
| 666 | | } |
|---|
| 667 | | |
|---|
| 668 | | return htmlMessage; |
|---|
| | 677 | |
|---|
| | 678 | } else { |
|---|
| | 679 | encodedMessage = [[message attributedStringByConvertingLinksToStrings] string]; |
|---|
| | 680 | } |
|---|
| | 681 | |
|---|
| | 682 | return encodedMessage; |
|---|