mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-04 21:08:51 +00:00
feat(core): Update to ckeditor 5. Fixes #5920. Add SOGoForceRawHtmlSignature to disable raw-html-embed. Removed CKEditor signature box style when composing mail. Fix issue where raw-html-embed was added when changind signature
This commit is contained in:
@@ -839,6 +839,9 @@ specified as an array of dictionaries.
|
||||
|S |SOGoURLEncryptionPassphrase
|
||||
|Passphrase for `SOGoURLEncryptionEnabled`. The string must be 128 bits (16 characters). If this settings change, the cache server must be restarted, and the DAV url will change. Default value is `SOGoSuperSecret0`.
|
||||
|
||||
|D |SOGoForceRawHtmlSignature
|
||||
|Add `<div class="raw-html-embed sogo-raw-html-embed">` around signature to avoid CKEditor 5 modifying HTML code and breaking signature (https://bugs.sogo.nu/view.php?id=5920). Default value is `YES` (tag is added).
|
||||
|
||||
|=======================================================================
|
||||
|
||||
|
||||
@@ -3971,8 +3974,8 @@ current version of SOGo from the previous release.
|
||||
[cols="100a"]
|
||||
|=======================================================================
|
||||
|
||||
h|5.10.1
|
||||
|Parameters `SOGoGlobalAddressBookFirstEntries` and `SOGoGlobalAddressBookFirstEntriesCount` has been removed. Please use `listRequiresDot` and `globalAddressBookFirstEntriesCount` instead
|
||||
h|5.11
|
||||
|Parameters `SOGoGlobalAddressBookFirstEntries` and `SOGoGlobalAddressBookFirstEntriesCount` has been removed. Please use `listRequiresDot` and `globalAddressBookFirstEntriesCount` instead. Signature are now between a div tag to avoid CKEditor changing the content - set `SOGoForceRawHtmlSignature` to `NO` to leave signature (https://bugs.sogo.nu/view.php?id=5920).
|
||||
|
||||
h|5.9.0
|
||||
|Run the shell script `sql-update-5.8.4_to_5.9.0.sh` (if you are using MySQL). This will change the `c_defaults` to `MEDIUMTEXT`.
|
||||
|
||||
@@ -102,6 +102,8 @@
|
||||
|
||||
- (NSString *) passwordRecoveryFrom;
|
||||
|
||||
- (BOOL) forceRawHtmlSignature;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* SOGODOMAINDEFAULTS_H */
|
||||
|
||||
@@ -465,4 +465,9 @@
|
||||
return emailFrom;
|
||||
}
|
||||
|
||||
- (BOOL) forceRawHtmlSignature
|
||||
{
|
||||
return [self objectForKey: @"SOGoForceRawHtmlSignature"] ? [self boolForKey: @"SOGoForceRawHtmlSignature"] : YES;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -113,6 +113,7 @@
|
||||
- (unsigned int) weekNumberForDate: (NSCalendarDate *) date;
|
||||
|
||||
- (NSArray *) mailAccounts;
|
||||
- (NSArray *) mailAccountsNoRawHtmlSignature;
|
||||
- (NSArray *) mailAccountsWithDelegatedIdentities: (BOOL) appendDeletegatedIdentities;
|
||||
- (NSDictionary *) accountWithName: (NSString *) accountName;
|
||||
- (NSArray *) allIdentities;
|
||||
|
||||
@@ -1026,10 +1026,15 @@ static const NSString *kEncryptedUserNamePrefix = @"uenc";
|
||||
|
||||
- (NSArray *) mailAccounts
|
||||
{
|
||||
return [self mailAccountsWithDelegatedIdentities: YES];
|
||||
return [self mailAccountsWithDelegatedIdentities: YES forceRawHtmlSignature: [[self domainDefaults] forceRawHtmlSignature]];
|
||||
}
|
||||
|
||||
- (NSArray *) mailAccountsWithDelegatedIdentities: (BOOL) appendDeletegatedIdentities
|
||||
- (NSArray *) mailAccountsNoRawHtmlSignature
|
||||
{
|
||||
return [self mailAccountsWithDelegatedIdentities: YES forceRawHtmlSignature: NO];
|
||||
}
|
||||
|
||||
- (NSArray *) mailAccountsWithDelegatedIdentities: (BOOL) appendDeletegatedIdentities forceRawHtmlSignature: (BOOL) forceRawHtmlSignature
|
||||
{
|
||||
NSArray *auxAccounts;
|
||||
|
||||
@@ -1112,8 +1117,9 @@ static const NSString *kEncryptedUserNamePrefix = @"uenc";
|
||||
if ([tmpIdentity objectForKey: @"signature"] ) {
|
||||
// Add raw html embed class
|
||||
if ([[tmpIdentity objectForKey: @"signature"] rangeOfString:@"raw-html-embed"].location == NSNotFound
|
||||
&& [[[self userDefaults] mailComposeMessageType] isEqualToString: @"html"]) {
|
||||
signature = [NSString stringWithFormat:@"<div class=\"raw-html-embed\">%@</div>", [tmpIdentity objectForKey: @"signature"]];
|
||||
&& [[[self userDefaults] mailComposeMessageType] isEqualToString: @"html"]
|
||||
&& forceRawHtmlSignature) {
|
||||
signature = [NSString stringWithFormat:@"<div class=\"raw-html-embed sogo-raw-html-embed\">%@</div>", [tmpIdentity objectForKey: @"signature"]];
|
||||
[tmpIdentity setObject:signature forKey:@"signature"];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -516,7 +516,7 @@ static SoProduct *preferencesProduct = nil;
|
||||
}
|
||||
}
|
||||
// We inject our default mail account
|
||||
account = [[[context activeUser] mailAccounts] objectAtIndex: 0];
|
||||
account = [[[context activeUser] mailAccountsNoRawHtmlSignature] objectAtIndex: 0];
|
||||
if (![account objectForKey: @"receipts"])
|
||||
{
|
||||
[account setObject: [NSDictionary dictionaryWithObjectsAndKeys: @"ignore", @"receiptAction",
|
||||
|
||||
@@ -428,4 +428,28 @@ md-dialog md-dialog-actions.sg-mail-editor-attachments {
|
||||
margin-left: unset!important;
|
||||
margin-right: unset!important;
|
||||
}
|
||||
|
||||
.ck-widget.sogo-raw-html-embed:before {
|
||||
display: none!important;
|
||||
}
|
||||
|
||||
.sogo-raw-html-embed .raw-html-embed__buttons-wrapper {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.ck-widget.sogo-raw-html-embed:not(.ck-widget_selected):not(:hover) {
|
||||
outline: none!important;
|
||||
}
|
||||
|
||||
.ck-widget.sogo-raw-html-embed {
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
.ck-widget.sogo-raw-html-embed .raw-html-embed__preview-content {
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
.sogo-raw-html-embed .raw-html-embed__preview-placeholder {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user