mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-30 23:55:34 +00:00
Merge branch 'SOGo-5.8' into fix-green-dot
This commit is contained in:
@@ -410,7 +410,7 @@ struct GlobalObjectId {
|
||||
|
||||
charset = [[[self lookupInfoForBodyPart: key] objectForKey: @"parameterList"] objectForKey: @"charset"];
|
||||
|
||||
if (![charset length])
|
||||
if (![charset length] || [charset caseInsensitiveCompare: @"us-ascii"] == NSOrderedSame)
|
||||
charset = @"utf-8";
|
||||
|
||||
s = [NSString stringWithData: d usingEncodingNamed: charset];
|
||||
@@ -708,7 +708,7 @@ struct GlobalObjectId {
|
||||
|
||||
charset = [[[self lookupInfoForBodyPart: @""] objectForKey: @"parameterList"] objectForKey: @"charset"];
|
||||
|
||||
if (![charset length])
|
||||
if (![charset length] || [charset caseInsensitiveCompare: @"us-ascii"] == NSOrderedSame)
|
||||
charset = @"utf-8";
|
||||
|
||||
d = [[self fetchPlainTextParts] objectForKey: @""];
|
||||
|
||||
@@ -3261,6 +3261,10 @@ current version of SOGo from the previous release.
|
||||
|
||||
[cols="100a"]
|
||||
|=======================================================================
|
||||
|
||||
h|5.8.2
|
||||
|Changes in Mac OS X Ventura 13.3. For mac Apple's Calendar users, the account must be removed and re-added (https://bugs.sogo.nu/view.php?id=5639#c16901). This can be achived in `` / `System Settings` / `Internet Accounts`.
|
||||
|
||||
h|5.8.1
|
||||
|New options `SOGoSMTPMasterUserEnabled`, `SOGoSMTPMasterUserUsername` and `SOGoSMTPMasterUserPassword` has been added. Those parameters replace the `-p` option for sogo-ealarms-notify.
|
||||
|
||||
|
||||
@@ -1145,9 +1145,14 @@ andAttribute: (EOAttribute *)_attribute
|
||||
{
|
||||
// Update c_startdate for appointments
|
||||
if ([theComponent respondsToSelector:@selector(startDate)]) {
|
||||
NSTimeInterval t = [startDate timeIntervalSince1970];
|
||||
|
||||
startDate = [theComponent startDate];
|
||||
if (startDate) {
|
||||
[quickRow setObject:[NSNumber numberWithUnsignedInt:[startDate timeIntervalSince1970]] forKey:@"c_startdate"];
|
||||
if (t < (long long)INT_MAX && t > (long long)INT_MIN)
|
||||
[quickRow setObject:[NSNumber numberWithInt: t] forKey:@"c_startdate"];
|
||||
else
|
||||
[quickRow setObject:[NSNumber numberWithInt: 0] forKey:@"c_startdate"];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1575,7 +1575,8 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
|
||||
{
|
||||
if ([filters isEqualToString:@"title_Category_Location"] || [filters isEqualToString:@"entireContent"])
|
||||
{
|
||||
[baseWhere addObject: [NSString stringWithFormat: @"(c_title isCaseInsensitiveLike: '*%@*' OR c_category isCaseInsensitiveLike: '*%@*' OR c_location isCaseInsensitiveLike: '*%@*')",
|
||||
[baseWhere addObject: [NSString stringWithFormat: @"(c_title isCaseInsensitiveLike: '*%@*' OR c_category isCaseInsensitiveLike: '*%@*' OR c_location isCaseInsensitiveLike: '*%@*' OR c_content isCaseInsensitiveLike: '*SUMMARY:*%@*')",
|
||||
[title asSafeSQLLikeString],
|
||||
[title asSafeSQLLikeString],
|
||||
[title asSafeSQLLikeString],
|
||||
[title asSafeSQLLikeString]]];
|
||||
@@ -1698,6 +1699,23 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
|
||||
else
|
||||
ma = [NSMutableArray array];
|
||||
|
||||
if (title && [title length] > 0) {
|
||||
// Case when multiple summary are set in c_content
|
||||
// Need to filter on title
|
||||
int i;
|
||||
NSDictionary *currentItem;
|
||||
for (i = [ma count] - 1; i >= 0; i--) {
|
||||
currentItem = [ma objectAtIndex: i];
|
||||
if (currentItem && [currentItem objectForKey: @"c_title"]
|
||||
&& [[currentItem objectForKey: @"c_title"] length] > 0) {
|
||||
if ([[currentItem objectForKey: @"c_title"] rangeOfString: title options: NSCaseInsensitiveSearch].location == NSNotFound) {
|
||||
[ma removeObjectAtIndex: i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return ma;
|
||||
}
|
||||
|
||||
|
||||
@@ -918,7 +918,7 @@ static NSString *userAgent = nil;
|
||||
currentInfo = [NSMutableDictionary dictionaryWithObjectsAndKeys:
|
||||
filename, @"filename",
|
||||
mimeType, @"mimetype",
|
||||
bodyId, @"bodyid",
|
||||
bodyId, @"bodyId",
|
||||
nil];
|
||||
[self saveAttachment: body
|
||||
withMetadata: currentInfo];
|
||||
@@ -1898,6 +1898,7 @@ static NSString *userAgent = nil;
|
||||
newText = [text htmlByExtractingImages: extractedBodyParts];
|
||||
if ([extractedBodyParts count])
|
||||
[self setText: newText];
|
||||
|
||||
}
|
||||
|
||||
map = [self mimeHeaderMapWithHeaders: _headers
|
||||
@@ -1928,6 +1929,51 @@ static NSString *userAgent = nil;
|
||||
}
|
||||
}
|
||||
|
||||
if (_extractImages)
|
||||
{
|
||||
int i;
|
||||
for (i = 0 ; i < [extractedBodyParts count] ; i++) {
|
||||
NSMutableDictionary *currentInfo;
|
||||
NSString *filename, *mimeType, *bodyId, *encoding;
|
||||
NSData *body;
|
||||
NGMimeBodyPart *extractedBodyPart;
|
||||
NGMimeContentDispositionHeaderField *contentDisposition;
|
||||
|
||||
extractedBodyPart = [extractedBodyParts objectAtIndex:i];
|
||||
if (extractedBodyPart && [extractedBodyPart headerForKey: @"content-disposition"]) {
|
||||
encoding = [extractedBodyPart encoding];
|
||||
contentDisposition = [[NGMimeContentDispositionHeaderField alloc] initWithString: [extractedBodyPart headerForKey: @"content-disposition"]];
|
||||
|
||||
if (encoding
|
||||
&& [extractedBodyPart contentType]
|
||||
&& [extractedBodyPart contentId]
|
||||
&& [contentDisposition filename]) {
|
||||
|
||||
mimeType = [[extractedBodyPart contentType] stringValue];
|
||||
bodyId = [[extractedBodyPart contentId] stringValue];
|
||||
filename = [contentDisposition filename];
|
||||
currentInfo = [NSMutableDictionary dictionaryWithObjectsAndKeys:
|
||||
filename, @"filename",
|
||||
mimeType, @"mimetype",
|
||||
bodyId, @"bodyId",
|
||||
nil];
|
||||
|
||||
if ([[extractedBodyParts objectAtIndex:i] body]) {
|
||||
if (encoding && [encoding rangeOfString:@"base64"].location != NSNotFound)
|
||||
body = [[[extractedBodyParts objectAtIndex:i] body] dataByDecodingBase64];
|
||||
else
|
||||
body = [[extractedBodyParts objectAtIndex:i] body];
|
||||
|
||||
[self saveAttachment: body
|
||||
withMetadata: currentInfo];
|
||||
}
|
||||
}
|
||||
[contentDisposition release];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@ static const NSString *POLICY_MIN_DIGIT = @"POLICY_MIN_DIGIT";
|
||||
static const NSString *POLICY_MIN_SPECIAL_SYMBOLS = @"POLICY_MIN_SPECIAL_SYMBOLS";
|
||||
static const NSString *POLICY_MIN_LENGTH = @"POLICY_MIN_LENGTH";
|
||||
|
||||
static const NSString *SPECIAL_SYMBOL_ALLOWED = @"%$&*(){}!?\\@#.,:;+=";
|
||||
|
||||
@implementation SOGoPasswordPolicy
|
||||
|
||||
- (id) init
|
||||
@@ -58,7 +60,7 @@ static const NSString *POLICY_MIN_LENGTH = @"POLICY_MIN_LENGTH";
|
||||
return [NSArray arrayWithObjects: [NSString stringWithFormat:@"(.*[a-z].*){%i}", [count intValue]],
|
||||
[NSString stringWithFormat:@"(.*[A-Z].*){%i}", [count intValue]],
|
||||
[NSString stringWithFormat:@"(.*[0-9].*){%i}", [count intValue]],
|
||||
[NSString stringWithFormat:@"([%%$&*(){}!?\\@#.,:;].*){%i,}", [count intValue]],
|
||||
[NSString stringWithFormat:@"([%@].*){%i,}", SPECIAL_SYMBOL_ALLOWED, [count intValue]],
|
||||
[NSString stringWithFormat:@".{%i,}", [count intValue]],
|
||||
nil];
|
||||
}
|
||||
@@ -98,12 +100,16 @@ static const NSString *POLICY_MIN_LENGTH = @"POLICY_MIN_LENGTH";
|
||||
NSNumber *value = [policy objectForKey:@"value"];
|
||||
if (0 < value) {
|
||||
NSString *newLabel = [[translations objectForKey: label]
|
||||
stringByReplacingOccurrencesOfString: @"%{0}"
|
||||
withString: [value stringValue]];
|
||||
stringByReplacingOccurrencesOfString: @"%{0}"
|
||||
withString: [value stringValue]];
|
||||
if ([POLICY_MIN_SPECIAL_SYMBOLS isEqualToString: label]) {
|
||||
newLabel = [[newLabel stringByAppendingString: @" "]
|
||||
stringByAppendingString: SPECIAL_SYMBOL_ALLOWED];
|
||||
}
|
||||
[userTranslatedPasswordPolicy addObject:[NSDictionary dictionaryWithObjectsAndKeys:
|
||||
newLabel, @"label",
|
||||
[policy objectForKey:@"regex"], @"regex",
|
||||
nil]];
|
||||
newLabel, @"label",
|
||||
[policy objectForKey:@"regex"], @"regex",
|
||||
nil]];
|
||||
} else {
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
@@ -251,7 +251,7 @@
|
||||
|
||||
b = (
|
||||
(
|
||||
[[cc userAgent] rangeOfString: @"macOS/13"].location != NSNotFound
|
||||
nil != [cc userAgent] && [[cc userAgent] rangeOfString: @"macOS/13"].location != NSNotFound
|
||||
&& [[cc userAgent] rangeOfString: @"dataaccessd"].location != NSNotFound
|
||||
)
|
||||
);
|
||||
|
||||
@@ -366,7 +366,7 @@ typedef enum
|
||||
NSString *qs, *path;
|
||||
|
||||
if ([theUser isEqualToString: @"ALL"])
|
||||
qs = [NSString stringWithFormat: @"c_uid LIKE '\%'", theUser];
|
||||
qs = [NSString stringWithFormat: @"c_uid LIKE '%%'"];
|
||||
else
|
||||
qs = [NSString stringWithFormat: @"c_uid = '%@'", theUser];
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"Add default email addresses" = "إضافة عناوين البريد الإلكتروني الافتراضية";
|
||||
"Days between responses" ="عدد الأيام بين الردود";
|
||||
"Do not send responses to mailing lists" = "لا ترسل ردود الى القوائم البريدية";
|
||||
"Disable auto reply on" = "تعطيل الرد التلقائي في";
|
||||
"Disable auto reply after" = "تعطيل الرد التلقائي في";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
= "يرجى تحديد رسالتك وعناوين البريد الإلكتروني التي تريد تمكين الرد التلقائي لها.";
|
||||
"Your vacation message must not end with a single dot on a line." = "يجب أن لا تنتهي رسالة العطلة بنقطة واحدة على السطر.";
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"Add default email addresses" = "Gehitu email helbide lehenetsiak";
|
||||
"Days between responses" ="Erantzunen arteko egunak";
|
||||
"Do not send responses to mailing lists" = "Ez bidali erantzunak email zerrendatara";
|
||||
"Disable auto reply on" = "Ezgaitu erantzun automatikoa";
|
||||
"Disable auto reply after" = "Ezgaitu erantzun automatikoa";
|
||||
"Always send vacation message response" = "'Oporretan nago' erantzun mezua beti bidali";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
= "Mesedez, zehaztu zure mezua eta zure helbide elektronikoa zeini erantzun automatikoa gaitu nahi diozun.";
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Aktivacijska Ograničenja";
|
||||
"Enable auto reply on" = "Uključiti auto-odgovor";
|
||||
"First day of vacation" = "Prvi dan odmora";
|
||||
"Disable auto reply on" = "Isključiti auto-odgovor";
|
||||
"Disable auto reply after" = "Isključiti auto-odgovor";
|
||||
"Last day of vacation" = "Zadnji dan odmora";
|
||||
"Enter date" = "Unesite datum";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Restrições de ativação";
|
||||
"Enable auto reply on" = "Habilitar resposta automática em";
|
||||
"First day of vacation" = "Primeiro dia de férias";
|
||||
"Disable auto reply on" = "Desativar resposta automática em";
|
||||
"Disable auto reply after" = "Desativar resposta automática em";
|
||||
"Last day of vacation" = "Último dia de férias";
|
||||
"Enter date" = "Digite a data";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Активационни ограничения";
|
||||
"Enable auto reply on" = "Включи автоматичен отговор";
|
||||
"First day of vacation" = "Първи ден от отпуска";
|
||||
"Disable auto reply on" = "Изключи автоматичен отговор на";
|
||||
"Disable auto reply after" = "Изключи автоматичен отговор на";
|
||||
"Last day of vacation" = "Последен ден от отпуска";
|
||||
"Enter date" = "Въведете дата";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
"Do not send responses to mailing lists" = "No enviar respostes a llistes de correu";
|
||||
"Enable auto reply on" = "Activar resposta automàtica";
|
||||
"First day of vacation" = "Primer dia de vacances";
|
||||
"Disable auto reply on" = "Desactivar la resposta automàtica en";
|
||||
"Disable auto reply after" = "Desactivar la resposta automàtica en";
|
||||
"Last day of vacation" = "Últim dia de vacances";
|
||||
"Enter date" = "Introduïu la Data";
|
||||
"Always send vacation message response" = "Envia sempre resposta de missatge de vacances";
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "回复间隔日数";
|
||||
"Do not send responses to mailing lists" = "不要回复到邮件列表";
|
||||
"Enable auto reply on" = "启用自动回复功能";
|
||||
"Disable auto reply on" = "禁用回复无效";
|
||||
"Disable auto reply after" = "禁用回复无效";
|
||||
"Always send vacation message response" = "总是发送休假消息回复";
|
||||
"Discard incoming mails during vacation" = "丢弃假期收到的邮件";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"Add default email addresses" = "增加預設的電子郵件地址";
|
||||
"Days between responses" ="回覆間隔天數";
|
||||
"Do not send responses to mailing lists" = "不要寄送回覆給列表的帳號";
|
||||
"Disable auto reply on" = "關閉自動回覆功能";
|
||||
"Disable auto reply after" = "關閉自動回覆功能";
|
||||
"Always send vacation message response" = "開啟休假自動回覆功能";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
= "請輸入自動回覆的訊息內容及電子郵件帳號。";
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "Dani između odgovora";
|
||||
"Do not send responses to mailing lists" = "Nemoj slati odgovore na mailing liste";
|
||||
"Enable auto reply on" = "Uključi automatski odgovor";
|
||||
"Disable auto reply on" = "Isključi automatski odgovor";
|
||||
"Disable auto reply after" = "Isključi automatski odgovor";
|
||||
"Always send vacation message response" = "Uvijek pošalji automatsku obavijest o odsutnosti";
|
||||
"Discard incoming mails during vacation" = "Odbij ulazne poruke tijekom odmora";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
"Do not send responses to mailing lists" = "Neposílat odpovědi do konferencí";
|
||||
"Enable auto reply on" = "Zapnout odpovědi v nepřítomnosti";
|
||||
"First day of vacation" = "První den nepřítomnosti";
|
||||
"Disable auto reply on" = "Automatické odpovědi vypnout dne";
|
||||
"Disable auto reply after" = "Automatické odpovědi vypnout dne";
|
||||
"Last day of vacation" = "Poslední den nepřítomnosti";
|
||||
"Enter date" = "Zadejte datum";
|
||||
"Always send vacation message response" = "Vždy posílat zprávu v nepřítomnosti";
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Aktiveringsbegrænsninger";
|
||||
"Enable auto reply on" = "Aktiver autosvar til";
|
||||
"First day of vacation" = "Første feriedag";
|
||||
"Disable auto reply on" = "Deaktiver Autosvar til";
|
||||
"Disable auto reply after" = "Deaktiver Autosvar til";
|
||||
"Last day of vacation" = "Sidste feriedag";
|
||||
"Enter date" = "Indtast dato";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Activatiebeperkingen";
|
||||
"Enable auto reply on" = "Automatisch beantwoorden inschakelen";
|
||||
"First day of vacation" = "Eerste vakantiedag";
|
||||
"Disable auto reply on" = "Automatisch bericht bij afwezigheid uitschakelen op";
|
||||
"Disable auto reply after" = "Automatisch bericht bij afwezigheid uitschakelen op";
|
||||
"Last day of vacation" = "Laatste vakantiedag";
|
||||
"Enter date" = "Voer datum in";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Activation Constraints";
|
||||
"Enable auto reply on" = "Enable auto reply on";
|
||||
"First day of vacation" = "First day of vacation";
|
||||
"Disable auto reply on" = "Disable auto reply on";
|
||||
"Disable auto reply after" = "Disable auto reply after";
|
||||
"Last day of vacation" = "Last day of vacation";
|
||||
"Enter date" = "Enter date";
|
||||
/* Enable auto reply at this time of the day */
|
||||
@@ -260,7 +260,7 @@
|
||||
"POLICY_MIN_LOWERCASE_LETTER" = "Minimum of %{0} lowercase letter";
|
||||
"POLICY_MIN_UPPERCASE_LETTER" = "Minimum of %{0} uppercase letter";
|
||||
"POLICY_MIN_DIGIT" = "Minimum of %{0} digit";
|
||||
"POLICY_MIN_SPECIAL_SYMBOLS" = "Minimum of %{0}special symbols";
|
||||
"POLICY_MIN_SPECIAL_SYMBOLS" = "Minimum of %{0} special symbols";
|
||||
"POLICY_MIN_LENGTH" = "Minimum length of %{0} characters";
|
||||
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "Päivät vastausten välillä";
|
||||
"Do not send responses to mailing lists" = "Älä lähetä vastauksia postituslistoille";
|
||||
"Enable auto reply on" = "Ota automaattivastaus käyttöön";
|
||||
"Disable auto reply on" = "Poista automaattivastaus käytöstä";
|
||||
"Disable auto reply after" = "Poista automaattivastaus käytöstä";
|
||||
"Always send vacation message response" = "Lähetä lomaviestivastaus aina";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
= "Ole hyvä ja määritä viesti sekä sähköpostiosoitteet joille haluat aktivoida automaattivastauksen.";
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Conditions d'activation";
|
||||
"Enable auto reply on" = "Débuter la réponse automatique le";
|
||||
"First day of vacation" = "Premier jour d'absence";
|
||||
"Disable auto reply on" = "Désactiver la réponse automatique le";
|
||||
"Disable auto reply after" = "Désactiver la réponse automatique après le";
|
||||
"Last day of vacation" = "Dernier jour d'absence";
|
||||
"Enter date" = "Date";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Aktivierungsbedingungen";
|
||||
"Enable auto reply on" = "Automatische Abwesenheitsnachricht anschalten am";
|
||||
"First day of vacation" = "Erster Urlaubstag";
|
||||
"Disable auto reply on" = "Automatische Abwesenheitsnachricht abschalten am";
|
||||
"Disable auto reply after" = "Automatische Abwesenheitsnachricht abschalten am";
|
||||
"Last day of vacation" = "Letzter Urlaubstag";
|
||||
"Enter date" = "Datum eingeben";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "ימים בין תשובות";
|
||||
"Do not send responses to mailing lists" = "לא להשיב לרשימות תפוצה";
|
||||
"Enable auto reply on" = "אפשר תשובה אוטומתית";
|
||||
"Disable auto reply on" = "בטל תשובה אוטומתית";
|
||||
"Disable auto reply after" = "בטל תשובה אוטומתית";
|
||||
"Always send vacation message response" = "תמיד להשיב בעזרת הודעת חופשה";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
= "אנא ציינו את הודעתכם וכתובת האימייל שלכם עבורם תרצו לאפשר תשובות אוטומתיות.";
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Aktiválás kényszerek";
|
||||
"Enable auto reply on" = "Automatikus válasz engedélyezése";
|
||||
"First day of vacation" = "Távollét első napja";
|
||||
"Disable auto reply on" = "Automatikus válasz tiltása";
|
||||
"Disable auto reply after" = "Automatikus válasz tiltása";
|
||||
"Last day of vacation" = "Távollét utolsó napja";
|
||||
"Enter date" = "Adja meg a dátumot";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "Hari diantara tanggapan";
|
||||
"Do not send responses to mailing lists" = "Jangan mengirim tanggapan ke milis";
|
||||
"Enable auto reply on" = "Aktifkan balasan otomatis pada";
|
||||
"Disable auto reply on" = "Non Aktifkan balasan otomatis pada";
|
||||
"Disable auto reply after" = "Non Aktifkan balasan otomatis pada";
|
||||
"Always send vacation message response" = "Selalu mengirim tanggapan pesan liburan";
|
||||
"The vacation message is sent prior to apply your filters." = "The vacation message is sent prior to apply your filters.";
|
||||
"Discard incoming mails during vacation" = "Buang surat masuk saat liburan";
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Parametri di attivazione";
|
||||
"Enable auto reply on" = "Abilita risposte automatiche dal giorno";
|
||||
"First day of vacation" = "Primo giorno di assenza";
|
||||
"Disable auto reply on" = "Disabilita risposte automatiche il giorno";
|
||||
"Disable auto reply after" = "Disabilita risposte automatiche il giorno";
|
||||
"Last day of vacation" = "Ultimo giorno di assenza";
|
||||
"Enter date" = "Inserire data";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "応答の間の日数";
|
||||
"Do not send responses to mailing lists" = "メーリングリストに応答を送信しない。";
|
||||
"Enable auto reply on" = "自動応答は有効化";
|
||||
"Disable auto reply on" = "次の自動応答は無効:";
|
||||
"Disable auto reply after" = "次の自動応答は無効:";
|
||||
"Always send vacation message response" = "必ず休暇メッセージを送信する";
|
||||
"Discard incoming mails during vacation" = "休暇中は受信したメールをゴミ箱に入れる";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Белсендіруді шектеу";
|
||||
"Enable auto reply on" = "Автожауап қосу";
|
||||
"First day of vacation" = "Демалыстың бірінші күні";
|
||||
"Disable auto reply on" = "Автожауапты өшіру";
|
||||
"Disable auto reply after" = "Автожауапты өшіру";
|
||||
"Last day of vacation" = "Демалыстың соңғы күні";
|
||||
"Enter date" = "Күнді енгізіңіз";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
"Do not send responses to mailing lists" = "Nesūtīt automātiskās atbildes adresātu sarakstam";
|
||||
"Enable auto reply on" = "Ieslēgt automātisko atbildi";
|
||||
"First day of vacation" = "Pirmā atvaļinājuma diena";
|
||||
"Disable auto reply on" = "Izslēgt automātisko atbildi";
|
||||
"Disable auto reply after" = "Izslēgt automātisko atbildi";
|
||||
"Last day of vacation" = "Pēdējā atvaļinājuma diena";
|
||||
"Enter date" = "Ievadiet datumu";
|
||||
"Always send vacation message response" = "Vienmēr sūtīt atvaļinājuma atbildes ziņojumu";
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
"Add default email addresses" = "Pridėti numatytajį elektroninį adresą";
|
||||
"Days between responses" = "Dienos iki atsakymo";
|
||||
"Do not send responses to mailing lists" = "Nesiųsti atsakymo į pašto sąrašus";
|
||||
"Disable auto reply on" = "Išjungti automatinį atsakymą";
|
||||
"Disable auto reply after" = "Išjungti automatinį atsakymą";
|
||||
"Always send vacation message response" = "Visada atsiųsti atsakomąją žinutę";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
= "Prašome nurodyti savo pranešimą ir savo elektroninio pašto adresą, kurį norite įgalinti automatiniam atsakymui.";
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "Денови помеѓу одговорите";
|
||||
"Do not send responses to mailing lists" = "Не испраќај одговори кон мејлинг листи";
|
||||
"Enable auto reply on" = "Овозможи го автоматскиот одговор";
|
||||
"Disable auto reply on" = "Исклучи го автоматскиот одговор";
|
||||
"Disable auto reply after" = "Исклучи го автоматскиот одговор";
|
||||
"Always send vacation message response" = "Секогаш испрати порака кога си на одмор";
|
||||
"Discard incoming mails during vacation" = "Не ги земај во предвид мејловите кои ќе дојдат за време на одморот";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
"Do not send responses to mailing lists" = "Ne odgovaraj na poštanske liste";
|
||||
"Enable auto reply on" = "Omogući automatski odgovor ";
|
||||
"First day of vacation" = "Prvi dan odmora";
|
||||
"Disable auto reply on" = "Onemogući automatski odgovor ";
|
||||
"Disable auto reply after" = "Onemogući automatski odgovor ";
|
||||
"Last day of vacation" = "Poslednji dan odmora";
|
||||
"Enter date" = "Unesite datum";
|
||||
"Always send vacation message response" = "Uvijek pošalji poruku automatskog odgovora za vrijeme odmora";
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Aktiveringsbegrensninger ";
|
||||
"Enable auto reply on" = "Aktiver automatisk svar på";
|
||||
"First day of vacation" = "Første feriedag";
|
||||
"Disable auto reply on" = "Skru av auto-svar";
|
||||
"Disable auto reply after" = "Skru av auto-svar";
|
||||
"Last day of vacation" = "Siste feriedag";
|
||||
"Enter date" = "Legg til dato";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
"Add default email addresses" = "Legg til standard e-postadresser";
|
||||
"Days between responses" = "Dager mellom svar";
|
||||
"Do not send responses to mailing lists" = "Ikke send svar til e-postlister";
|
||||
"Disable auto reply on" = "Aktivér auto-svar ved fravær";
|
||||
"Disable auto reply after" = "Aktivér auto-svar ved fravær";
|
||||
"Always send vacation message response" = "Always send vacation message response";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
= "Skriv melding og angi din e-postadresse som du vil aktivera auto-svar på.";
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = " Ograniczenia aktywacji";
|
||||
"Enable auto reply on" = "Włącz autoodpowiedź w";
|
||||
"First day of vacation" = "Pierwszy dzień nieobecności";
|
||||
"Disable auto reply on" = "Zablokuj autoodpowiedź w";
|
||||
"Disable auto reply after" = "Zablokuj autoodpowiedź w";
|
||||
"Last day of vacation" = "Ostatni dzień nieobecności";
|
||||
"Enter date" = "Wprowadź datę";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "Dias entre respostas";
|
||||
"Do not send responses to mailing lists" = "Não envie respostas para lista de e-mails";
|
||||
"Enable auto reply on" = "Ativar resposta automática";
|
||||
"Disable auto reply on" = "Desativar resposta automática em";
|
||||
"Disable auto reply after" = "Desativar resposta automática em";
|
||||
"Always send vacation message response" = "Sempre enviar uma mensagem-resposta de férias";
|
||||
"Discard incoming mails during vacation" = "Rejeitar os emails recebidos quando activar \"Fora do Escritório\"";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
"Do not send responses to mailing lists" = "Nu răspundeți la mesajele de la liste de discuții";
|
||||
"Enable auto reply on" = "Activare răspuns automat pe";
|
||||
"First day of vacation" = " Prima zi de vacanță";
|
||||
"Disable auto reply on" = "Dezactivare răspuns automat pe";
|
||||
"Disable auto reply after" = "Dezactivare răspuns automat pe";
|
||||
"Last day of vacation" = "Ultima zi de vacanță";
|
||||
"Enter date" = "Introduceți data";
|
||||
"Always send vacation message response" = "Întotdeauna trimite un mesaj de concediu";
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Ограничения активации";
|
||||
"Enable auto reply on" = "Включить автоответ на";
|
||||
"First day of vacation" = "Первый день отпуска";
|
||||
"Disable auto reply on" = "Отключить автоответ";
|
||||
"Disable auto reply after" = "Отключить автоответ";
|
||||
"Last day of vacation" = "Последний день отпуска";
|
||||
"Enter date" = "Введите дату";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Активирање ограничења";
|
||||
"Enable auto reply on" = "Омогући аутоматски одговор ";
|
||||
"First day of vacation" = "Први дан одмора";
|
||||
"Disable auto reply on" = "Онемогући аутоматски одговор ";
|
||||
"Disable auto reply after" = "Онемогући аутоматски одговор ";
|
||||
"Last day of vacation" = "Последњи дан одмора";
|
||||
"Enter date" = "Унесите датум";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
"Do not send responses to mailing lists" = "Ne odgovaraj na poštanske liste";
|
||||
"Enable auto reply on" = "Omogući automatski odgovor ";
|
||||
"First day of vacation" = "Prvi dan odmora";
|
||||
"Disable auto reply on" = "Onemogući automatski odgovor ";
|
||||
"Disable auto reply after" = "Onemogući automatski odgovor ";
|
||||
"Last day of vacation" = "Poslednji dan odmora";
|
||||
"Enter date" = "Unesite datum";
|
||||
"Always send vacation message response" = "Uvek pošalji poruku automatskog odgovora za vreme odmora";
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
"Do not send responses to mailing lists" = "Neposielať odpovede e-mailovým skupinám";
|
||||
"Enable auto reply on" = "Zapnúť automatickú odpoveď od";
|
||||
"First day of vacation" = "Prvý deň neprítomnosti";
|
||||
"Disable auto reply on" = "Vypnúť automatickú odpoveď";
|
||||
"Disable auto reply after" = "Vypnúť automatickú odpoveď";
|
||||
"Last day of vacation" = "Posledný den neprítomnosti";
|
||||
"Enter date" = "Zadajte dátum";
|
||||
"Always send vacation message response" = "Vždy odošli správu o dovolenke";
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Omejitve aktivacije";
|
||||
"Enable auto reply on" = "Omogoči samodejni odgovor na";
|
||||
"First day of vacation" = "Prvi dan odsotnosti";
|
||||
"Disable auto reply on" = "Onemogoči samodejni odgovor na";
|
||||
"Disable auto reply after" = "Onemogoči samodejni odgovor na";
|
||||
"Last day of vacation" = "Zadnji dan odsotnosti";
|
||||
"Enter date" = "Vnesi datum";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "Dias entre respuestas";
|
||||
"Do not send responses to mailing lists" = "No enviar respuestas a listas de correo";
|
||||
"Enable auto reply on" = "Habilitar auto-respuesta";
|
||||
"Disable auto reply on" = "Deshabilitar la autorrespuesta en la siguiente fecha";
|
||||
"Disable auto reply after" = "Deshabilitar la autorrespuesta en la siguiente fecha";
|
||||
"Always send vacation message response" = "Mandar siempre un mensaje de respuesta por vacaciones";
|
||||
"Discard incoming mails during vacation" = "Descartar correo entrante durante vacaciones";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "Dias entre respuestas";
|
||||
"Do not send responses to mailing lists" = "No enviar respuestas a las listas de distribución";
|
||||
"Enable auto reply on" = "Activar respuesta automática";
|
||||
"Disable auto reply on" = "Desactivar respuesta automatica";
|
||||
"Disable auto reply after" = "Desactivar respuesta automatica";
|
||||
"Always send vacation message response" = "Siempre enviar mensaje de vacaciones";
|
||||
"Discard incoming mails during vacation" = "Descartar los correos entrantes durante las vacaciones";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "Dagar mellan svar";
|
||||
"Do not send responses to mailing lists" = "Skicka inte svar till e-postlistor";
|
||||
"Enable auto reply on" = "Aktivera auto-svar den";
|
||||
"Disable auto reply on" = "Inaktivera auto-svar den";
|
||||
"Disable auto reply after" = "Inaktivera auto-svar den";
|
||||
"Always send vacation message response" = "Skicka alltid frånvaromeddelande";
|
||||
"The vacation message is sent prior to apply your filters." = "Semestermeddelandet skickas innan du tillämpar dina filter.";
|
||||
"Discard incoming mails during vacation" = "Släng inkommande e-post under semester";
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Aktivasyon Kısıtlamaları";
|
||||
"Enable auto reply on" = "Otomatik yanıtın etkinleştirme tarihi";
|
||||
"First day of vacation" = "Tatilin ilk günü";
|
||||
"Disable auto reply on" = "Otomatik yanıt bitiş tarihi";
|
||||
"Disable auto reply after" = "Otomatik yanıt bitiş tarihi";
|
||||
"Last day of vacation" = "Tatilin son günü";
|
||||
"Enter date" = "Tarih girin";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -1385,7 +1385,9 @@ static NSArray *reminderValues = nil;
|
||||
for (identity in previousIdentities) {
|
||||
if ([newIdentitiesAsDict objectForKey: [identity objectForKey:@"email"]]) {
|
||||
[identity setObject: [[newIdentitiesAsDict objectForKey: [identity objectForKey:@"email"]] objectForKey:@"fullName"] forKey: @"fullName"];
|
||||
[identity setObject: [[newIdentitiesAsDict objectForKey: [identity objectForKey:@"email"]] objectForKey:@"signature"] forKey: @"signature"];
|
||||
if ([identity objectForKey:@"signature"]) {
|
||||
[identity setObject: [[newIdentitiesAsDict objectForKey: [identity objectForKey:@"email"]] objectForKey:@"signature"] forKey: @"signature"];
|
||||
}
|
||||
if ([[newIdentitiesAsDict objectForKey: [identity objectForKey:@"email"]] objectForKey:@"isDefault"]) {
|
||||
[identity setObject: [NSNumber numberWithBool: YES] forKey: @"isDefault"];
|
||||
} else {
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"Activation Constraints" = "Обмеження активації";
|
||||
"Enable auto reply on" = "Включити автовідповідь на";
|
||||
"First day of vacation" = "Перший день відпустки";
|
||||
"Disable auto reply on" = "Вимкнути автоматичну відповідь";
|
||||
"Disable auto reply after" = "Вимкнути автоматичну відповідь";
|
||||
"Last day of vacation" = "Останній день відпустки";
|
||||
"Enter date" = "Введіть дату";
|
||||
/* Enable auto reply at this time of the day */
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"Days between responses" = "Diwrnodau rhwng ymatebion";
|
||||
"Do not send responses to mailing lists" = "Peidio anfon ymatebion i restrau postio";
|
||||
"Enable auto reply on" = "Galluogi ateb awtomatig ymlaen";
|
||||
"Disable auto reply on" = "Analluogi ateb awtomatig ymlaen";
|
||||
"Disable auto reply after" = "Analluogi ateb awtomatig ymlaen";
|
||||
"Always send vacation message response" = "Anfon ymateb gwyliau bob amser";
|
||||
"Discard incoming mails during vacation" = "Taflu e-byst sy'n dod i mewn yn ystod gwyliau";
|
||||
"Please specify your message and your email addresses for which you want to enable auto reply."
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
"this month" = "this month";
|
||||
"Previous Month" = "Previous Month";
|
||||
"Next Month" = "Next Month";
|
||||
/* Week number prefix */
|
||||
"W" = "W";
|
||||
|
||||
/* Year */
|
||||
"this year" = "this year";
|
||||
@@ -563,6 +565,7 @@ vtodo_class2 = "(Confidential task)";
|
||||
"CalDAV URL" = "CalDAV URL ";
|
||||
"WebDAV ICS URL" = "WebDAV ICS URL";
|
||||
"WebDAV XML URL" = "WebDAV XML URL";
|
||||
"Copy to clipboard" = "Copy to clipboard";
|
||||
|
||||
/* Error messages */
|
||||
"dayFieldInvalid" = "Please specify a numerical value in the Days field greater or equal to 1.";
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
"this month" = "ce mois";
|
||||
"Previous Month" = "Mois précédent";
|
||||
"Next Month" = "Mois suivant";
|
||||
/* Week number prefix */
|
||||
"W" = "S";
|
||||
|
||||
/* Year */
|
||||
"this year" = "Cette année";
|
||||
@@ -563,6 +565,7 @@ vtodo_class2 = "(Tâche confidentielle)";
|
||||
"CalDAV URL" = "Accès en CalDAV ";
|
||||
"WebDAV ICS URL" = "Représentation ICS en WebDAV";
|
||||
"WebDAV XML URL" = "Représentation XML en WebDAV";
|
||||
"Copy to clipboard" = "Copier dans le presse-papier";
|
||||
|
||||
/* Error messages */
|
||||
"dayFieldInvalid" = "Veuillez spécifier un chiffre supérieur ou égal à 1 dans le champ Jours.";
|
||||
|
||||
@@ -234,6 +234,19 @@
|
||||
return daysNumbersToDisplay[i];
|
||||
}
|
||||
|
||||
- (BOOL) isFirstDayOfWeek {
|
||||
return 0 == [currentWeek indexOfObject: currentTableDay];
|
||||
}
|
||||
|
||||
- (int) currentWeekNumber
|
||||
{
|
||||
SOGoUser *user;
|
||||
|
||||
user = [context activeUser];
|
||||
|
||||
return [user weekNumberForDate: currentTableDay];
|
||||
}
|
||||
|
||||
- (void) setCurrentWeek: (NSArray *) newCurrentWeek
|
||||
{
|
||||
ASSIGN (currentWeek, newCurrentWeek);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
xmlns:label="OGo:label"
|
||||
className="UIxPageFrame"
|
||||
title="moduleName"
|
||||
const:jsFiles="vendor/ckeditor/ckeditor.js, Common/sgCkeditor.component.js, Common.js, Preferences.services.js, Mailer.services.js, Contacts.js, Contacts.services.js, vendor/angular-file-upload.min.js, vendor/FileSaver.min.js">
|
||||
const:jsFiles="vendor/ckeditor/ckeditor.js, Common/sgCkeditor.component.js, Common.js, Preferences.services.js, Mailer.services.js, Contacts.js, Contacts.services.js, vendor/angular-file-upload.min.js, vendor/FileSaver.min.js, vendor/punycode.js">
|
||||
<script type="text/javascript">
|
||||
var contactFolders = <var:string value="contactFolders.jsonRepresentation" const:escapeHTML="NO" />;
|
||||
</script>
|
||||
|
||||
@@ -219,8 +219,7 @@
|
||||
</label>
|
||||
<input type="text" name="subject"
|
||||
ng-model="editor.message.editable.subject"
|
||||
ng-keydown="editor.ignoreReturn($event)"
|
||||
ng-required="true"/>
|
||||
ng-keydown="editor.ignoreReturn($event)" />
|
||||
<div ng-messages="messageForm.subject.$error">
|
||||
<div ng-message="required"><var:string label:value="Please specify a subject."/></div>
|
||||
</div>
|
||||
|
||||
@@ -43,24 +43,24 @@
|
||||
</var:if>
|
||||
<div ng-if="!app.loginState">
|
||||
<md-input-container class="md-block">
|
||||
<label class="md-default-theme md-accent md-bg"><var:string label:value="Username"/></label>
|
||||
<md-icon class="material-icons md-default-theme md-accent md-bg">person</md-icon>
|
||||
<input class="md-default-theme md-accent md-bg" autocorrect="off" autocapitalize="off" type="text" ng-model="app.creds.username" ng-required="true" ng-change="app.usernameChanged()" ng-blur="app.retrievePasswordRecoveryEnabled()" />
|
||||
<label><var:string label:value="Username"/></label>
|
||||
<md-icon>person</md-icon>
|
||||
<input autocorrect="off" autocapitalize="off" type="text" ng-model="app.creds.username" ng-required="true" ng-change="app.usernameChanged()" ng-blur="app.retrievePasswordRecoveryEnabled()" />
|
||||
</md-input-container>
|
||||
<md-input-container class="md-block">
|
||||
<label class="md-default-theme md-accent md-bg"><var:string label:value="Password"/></label>
|
||||
<md-icon class="material-icons md-default-theme md-accent md-bg">email</md-icon>
|
||||
<input class="md-default-theme md-accent md-bg" id="passwordField" type="password" ng-model="app.creds.password" ng-required="true"/>
|
||||
<md-icon class="material-icons md-default-theme md-accent md-bg" id="password-visibility-icon" ng-click="app.changePasswordVisibility()">visibility</md-icon>
|
||||
<label><var:string label:value="Password"/></label>
|
||||
<md-icon>email</md-icon>
|
||||
<input id="passwordField" type="password" ng-model="app.creds.password" ng-required="true"/>
|
||||
<md-icon id="password-visibility-icon" ng-click="app.changePasswordVisibility()">visibility</md-icon>
|
||||
</md-input-container>
|
||||
|
||||
|
||||
<!-- LANGUAGES SELECT -->
|
||||
<div layout="row" layout-align="start end">
|
||||
<md-icon class="material-icons md-default-theme md-accent md-bg">language</md-icon>
|
||||
<md-input-container class="md-default-theme md-accent md-bg md-flex">
|
||||
<label class="md-default-theme md-accent md-bg"><var:string label:value="choose"/></label>
|
||||
<md-select md-container-class="md-default-theme md-accent md-bg" ng-model="app.creds.language"
|
||||
<md-icon>language</md-icon>
|
||||
<md-input-container class="md-flex">
|
||||
<label><var:string label:value="choose"/></label>
|
||||
<md-select ng-model="app.creds.language"
|
||||
var:placeholder="localizedLanguage"
|
||||
ng-change="app.changeLanguage($event)">
|
||||
<var:foreach list="languages" item="item">
|
||||
@@ -75,7 +75,7 @@
|
||||
<!-- DOMAINS SELECT -->
|
||||
<var:if condition="hasLoginDomains">
|
||||
<div layout="row" layout-align="start end">
|
||||
<md-icon class="material-icons md-default-theme md-accent md-bg">domain</md-icon>
|
||||
<md-icon>domain</md-icon>
|
||||
<md-input-container class="md-flex">
|
||||
<md-select class="md-flex" ng-model="app.creds.domain" label:placeholder="choose" ng-change="app.retrievePasswordRecoveryEnabled()">
|
||||
<var:foreach list="loginDomains" item="item">
|
||||
@@ -109,7 +109,7 @@
|
||||
<md-button class="md-icon-button"
|
||||
label:aria-label="About"
|
||||
ng-click="app.showAbout()">
|
||||
<md-icon class="material-icons md-default-theme md-accent md-bg">info</md-icon>
|
||||
<md-icon>info</md-icon>
|
||||
</md-button>
|
||||
<div>
|
||||
<md-button class="md-fab md-accent md-hue-2" type="submit"
|
||||
@@ -146,7 +146,7 @@
|
||||
<div flex="80" flex-sm="50" flex-gt-sm="40">
|
||||
<md-input-container class="md-block">
|
||||
<label><var:string label:value="Verification Code"/></label>
|
||||
<md-icon class="material-icons md-default-theme md-accent md-bg">lock</md-icon>
|
||||
<md-icon>lock</md-icon>
|
||||
<input type="text"
|
||||
ng-pattern="app.verificationCodePattern"
|
||||
ng-model="app.creds.verificationCode"
|
||||
@@ -159,14 +159,14 @@
|
||||
label:aria-label="Cancel"
|
||||
ng-click="app.restoreLogin()"
|
||||
sg-ripple-click="loginContent">
|
||||
<md-icon class="material-icons md-default-theme md-accent md-bg">arrow_backward</md-icon>
|
||||
<md-icon>arrow_backward</md-icon>
|
||||
</md-button>
|
||||
<md-button class="md-fab md-accent md-hue-2" type="submit"
|
||||
label:aria-label="Connect"
|
||||
ng-if="app.loginState == 'totpcode'"
|
||||
ng-disabled="loginForm.$invalid"
|
||||
ng-click="app.login()">
|
||||
<md-icon class="material-icons md-default-theme md-accent md-bg">arrow_forward</md-icon>
|
||||
<md-icon>arrow_forward</md-icon>
|
||||
</md-button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -180,7 +180,7 @@
|
||||
<var:string label:value="Welcome"/> {{app.cn}}
|
||||
</div>
|
||||
<div class="md-padding" layout="row" layout-align="start center">
|
||||
<md-icon class="material-icons md-default-theme md-accent md-bg">priority_high</md-icon>
|
||||
<md-icon>priority_high</md-icon>
|
||||
<div class="md-padding">
|
||||
<var:string label:value="Two-factor authentication has been disabled. Visit the Preferences module to restore two-factor authentication and reconfigure your TOTP application."/>
|
||||
</div>
|
||||
|
||||
@@ -1189,7 +1189,7 @@
|
||||
ng-true-value="1"
|
||||
ng-false-value="0"
|
||||
ng-change="app.toggleVacationEndDate()">
|
||||
<var:string label:value="Disable auto reply on" />
|
||||
<var:string label:value="Disable auto reply after" />
|
||||
</md-checkbox>
|
||||
<md-input-container>
|
||||
<label class="md-no-truncate"><var:string label:value="Last day of vacation"/></label>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
xmlns:label="OGo:label"
|
||||
className="UIxPageFrame"
|
||||
title="moduleName"
|
||||
const:jsFiles="vendor/ckeditor/ckeditor.js, vendor/ng-sortable.min.js, Common/sgCkeditor.component.js, Common.js, Preferences.services.js, Contacts.services.js, Mailer.services.js, vendor/angular-file-upload.min.js, Scheduler.js, Scheduler.services.js, vendor/FileSaver.min.js">
|
||||
const:jsFiles="vendor/ckeditor/ckeditor.js, vendor/ng-sortable.min.js, Common/sgCkeditor.component.js, Common.js, Preferences.services.js, Contacts.services.js, Mailer.services.js, vendor/angular-file-upload.min.js, Scheduler.js, Scheduler.services.js, vendor/FileSaver.min.js, vendor/punycode.js">
|
||||
<script type="text/javascript">
|
||||
var firstDayOfWeek = <var:string value="firstDayOfWeek"/>;
|
||||
var dayStartHour = <var:string value="dayStartHour"/>;
|
||||
|
||||
@@ -89,6 +89,12 @@
|
||||
var:sg-day="currentTableDay.shortDateString"
|
||||
var:sg-day-number="currentDayNumber"
|
||||
var:sg-day-string="currentTableDay.iso8601DateString">
|
||||
<!-- Week number -->
|
||||
<var:if condition="isFirstDayOfWeek">
|
||||
<div class="sg-calendar-tile-week">
|
||||
<span class="md-default-theme md-default-theme md-hue-1 md-bg"><var:string label:value="W"/><var:string value="currentWeekNumber"/></span>
|
||||
</div>
|
||||
</var:if>
|
||||
<div class="sg-calendar-tile-header md-default-theme md-fg md-hue-2">
|
||||
<var:if condition="currentTableDay.isToday">
|
||||
<span class="md-default-theme md-bg md-accent md-hue-2"><var:string value="currentTableDay.dayOfMonth"/></span> <var:string value="dayHeaderMonth"/>
|
||||
|
||||
@@ -35,34 +35,58 @@
|
||||
|
||||
<div layout="column" ng-hide="::links.calendar.isWebCalendar">
|
||||
<div class="sg-md-title"><var:string label:value="Authenticated User Access"/></div>
|
||||
<md-input-container class="md-block">
|
||||
<md-input-container class="md-input-clipboard">
|
||||
<label><var:string label:value="CalDAV URL"/></label>
|
||||
<input type="text" ng-model="::links.calendar.urls.calDavURL" ng-readonly="true"/>
|
||||
<input id="user-caldav-url" type="text" ng-model="::links.calendar.urls.calDavURL" ng-readonly="true"/>
|
||||
<md-button aria-label="Copy to clipboard" class="md-icon-button" ng-click="links.clipboard('user-caldav-url')">
|
||||
<md-tooltip><var:string label:value="Copy to clipboard"/></md-tooltip>
|
||||
<md-icon label:aria-label="Copy Icon">content_copy</md-icon>
|
||||
</md-button>
|
||||
</md-input-container>
|
||||
<md-input-container class="md-block">
|
||||
<md-input-container class="md-input-clipboard">
|
||||
<label><var:string label:value="WebDAV ICS URL"/></label>
|
||||
<input type="text" ng-model="::links.calendar.urls.webDavICSURL" ng-readonly="true"/>
|
||||
<input id="user-webdav-ics-url" type="text" ng-model="::links.calendar.urls.webDavICSURL" ng-readonly="true"/>
|
||||
<md-button aria-label="Copy to clipboard" class="md-icon-button" ng-click="links.clipboard('user-webdav-ics-url')">
|
||||
<md-tooltip><var:string label:value="Copy to clipboard"/></md-tooltip>
|
||||
<md-icon label:aria-label="Content_copy">content_copy</md-icon>
|
||||
</md-button>
|
||||
</md-input-container>
|
||||
<md-input-container class="md-block">
|
||||
<md-input-container class="md-input-clipboard">
|
||||
<label><var:string label:value="WebDAV XML URL"/></label>
|
||||
<input type="text" ng-model="::links.calendar.urls.webDavXMLURL" ng-readonly="true"/>
|
||||
<input id="user-webdav-xml-url" type="text" ng-model="::links.calendar.urls.webDavXMLURL" ng-readonly="true"/>
|
||||
<md-button aria-label="Copy to clipboard" class="md-icon-button" ng-click="links.clipboard('user-webdav-xml-url')">
|
||||
<md-tooltip><var:string label:value="Copy to clipboard"/></md-tooltip>
|
||||
<md-icon label:aria-label="Content_copy">content_copy</md-icon>
|
||||
</md-button>
|
||||
</md-input-container>
|
||||
</div>
|
||||
|
||||
<var:if condition="isPublicAccessEnabled">
|
||||
<div layout="column" ng-hide="::links.calendar.isWebCalendar">
|
||||
<div class="sg-md-title"><var:string label:value="Public Access"/></div>
|
||||
<md-input-container class="md-block">
|
||||
<md-input-container class="md-input-clipboard">
|
||||
<label><var:string label:value="CalDAV URL"/></label>
|
||||
<input type="text" ng-model="::links.calendar.urls.publicCalDavURL" ng-readonly="true"/>
|
||||
<input id="public-caldav-url" type="text" ng-model="::links.calendar.urls.publicCalDavURL" ng-readonly="true"/>
|
||||
<md-button aria-label="Copy to clipboard" class="md-icon-button" ng-click="links.clipboard('public-caldav-url')">
|
||||
<md-tooltip><var:string label:value="Copy to clipboard"/></md-tooltip>
|
||||
<md-icon label:aria-label="Content_copy">content_copy</md-icon>
|
||||
</md-button>
|
||||
</md-input-container>
|
||||
<md-input-container class="md-block">
|
||||
<md-input-container class="md-input-clipboard">
|
||||
<label><var:string label:value="WebDAV ICS URL"/></label>
|
||||
<input type="text" ng-model="::links.calendar.urls.publicWebDavICSURL" ng-readonly="true"/>
|
||||
<input id="public-webdav-ics-url" type="text" ng-model="::links.calendar.urls.publicWebDavICSURL" ng-readonly="true"/>
|
||||
<md-button aria-label="Copy to clipboard" class="md-icon-button" ng-click="links.clipboard('public-webdav-ics-url')">
|
||||
<md-tooltip><var:string label:value="Copy to clipboard"/></md-tooltip>
|
||||
<md-icon label:aria-label="Content_copy">content_copy</md-icon>
|
||||
</md-button>
|
||||
</md-input-container>
|
||||
<md-input-container class="md-block">
|
||||
<md-input-container class="md-input-clipboard">
|
||||
<label><var:string label:value="WebDAV XML URL"/></label>
|
||||
<input type="text" ng-model="::links.calendar.urls.publicWebDavXMLURL" ng-readonly="true"/>
|
||||
<input id="public-webdav-xml-url" type="text" ng-model="::links.calendar.urls.publicWebDavXMLURL" ng-readonly="true"/>
|
||||
<md-button aria-label="Copy to clipboard" class="md-icon-button" ng-click="links.clipboard('public-webdav-xml-url')">
|
||||
<md-tooltip><var:string label:value="Copy to clipboard"/></md-tooltip>
|
||||
<md-icon label:aria-label="Content_copy">content_copy</md-icon>
|
||||
</md-button>
|
||||
</md-input-container>
|
||||
</div>
|
||||
</var:if>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -414,7 +414,8 @@
|
||||
recipients.push(card.$shortFormat());
|
||||
}
|
||||
}
|
||||
else if (selectedFolder.$loadCard(card)) {
|
||||
else {
|
||||
selectedFolder.$loadCard(card);
|
||||
promises.push(selectedFolder.$futureHeadersData.then(function() {
|
||||
var i = selectedFolder.idsMap[card.id];
|
||||
if (angular.isDefined(i)) {
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -12,10 +12,10 @@
|
||||
|
||||
this.$onInit = function() {
|
||||
$scope.isPopup = stateParent.isPopup;
|
||||
|
||||
this.account = stateAccount;
|
||||
this.autocomplete = {to: {}, cc: {}, bcc: {}};
|
||||
this.autosave = null;
|
||||
|
||||
this.isFullscreen = false;
|
||||
this.hideBcc = (stateMessage.editable.bcc.length === 0);
|
||||
this.hideCc = (stateMessage.editable.cc.length === 0);
|
||||
@@ -218,6 +218,12 @@
|
||||
$event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
if ($event.keyCode == 186 && $event.key == 'ü') { //Key code for separator ';' but is keycode for ü in german keyboard
|
||||
$event.stopPropagation();
|
||||
$event.preventDefault();
|
||||
let element = $window.document.getElementById($event.target.id);
|
||||
element.value = element.value + 'ü'
|
||||
}
|
||||
};
|
||||
|
||||
this.save = function (options) {
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -293,10 +293,16 @@
|
||||
var vm = this;
|
||||
vm.calendar = calendar;
|
||||
vm.close = close;
|
||||
vm.clipboard = clipboard
|
||||
|
||||
function close() {
|
||||
$mdDialog.hide();
|
||||
}
|
||||
|
||||
function clipboard(elem_id) {
|
||||
var linkUrl = document.getElementById(elem_id);
|
||||
navigator.clipboard.writeText(linkUrl.value);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
+1436
-1436
File diff suppressed because it is too large
Load Diff
@@ -13,10 +13,10 @@
|
||||
* (1) https://ckeditor.com/cke4/builder
|
||||
* Visit online builder to build CKEditor from scratch.
|
||||
*
|
||||
* (2) https://ckeditor.com/cke4/builder/1c2fb66df7a25752905b4ae873564645
|
||||
* (2) https://ckeditor.com/cke4/builder/94a81f57cdfc44f73ba3ca311e54de61
|
||||
* Visit online builder to build CKEditor, starting with the same setup as before.
|
||||
*
|
||||
* (3) https://ckeditor.com/cke4/builder/download/1c2fb66df7a25752905b4ae873564645
|
||||
* (3) https://ckeditor.com/cke4/builder/download/94a81f57cdfc44f73ba3ca311e54de61
|
||||
* Straight download link to the latest version of CKEditor (Optimized) with the same setup as before.
|
||||
*
|
||||
* NOTE:
|
||||
@@ -57,6 +57,7 @@ var CKBUILDER_CONFIG = {
|
||||
plugins : {
|
||||
'about' : 1,
|
||||
'autogrow' : 1,
|
||||
'autolink' : 1,
|
||||
'base64image' : 1,
|
||||
'basicstyles' : 1,
|
||||
'bidi' : 1,
|
||||
|
||||
+4
-1
@@ -1315,4 +1315,7 @@ a=a.replace(/<body/,'\x3cbody role\x3d"textbox" aria-multiline\x3d"true"');b.tit
|
||||
",window);wasLoaded\x3d1;}"+(CKEDITOR.env.ie?"onload();":'document.addEventListener("DOMContentLoaded", onload, false );')+"\x3c/script\x3e";CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(c+='\x3cscript id\x3d"cke_shimscrpt"\x3ewindow.parent.CKEDITOR.tools.enableHtml5Elements(document)\x3c/script\x3e');g&&CKEDITOR.env.ie&&10>CKEDITOR.env.version&&(c+='\x3cscript id\x3d"cke_basetagscrpt"\x3evar baseTag \x3d document.querySelector( "base" );baseTag.href \x3d baseTag.href;\x3c/script\x3e');a=a.replace(/(?=\s*<\/(:?head)>)/,
|
||||
c);this.clearCustomData();this.clearListeners();b.fire("contentDomUnload");var l=this.getDocument();try{l.write(a)}catch(k){setTimeout(function(){l.write(a)},0)}}},getData:function(a){if(a)return this.getHtml();a=this.editor;var e=a.config,b=e.fullPage,c=b&&a.docType,f=b&&a.xmlDeclaration,d=this.getDocument(),d=b?d.getDocumentElement().getOuterHtml():d.getBody().getHtml();CKEDITOR.env.gecko&&e.enterMode!=CKEDITOR.ENTER_BR&&(d=d.replace(/<br>(?=\s*(:?$|<\/body>))/,""));b&&(d=d.replace(/<body(.*?)role="?textbox"?/i,
|
||||
"\x3cbody$1").replace(/<body(.*?)aria-multiline="?true"?/i,"\x3cbody$1").replace(/<body(.*?)tabindex="?0"?/i,"\x3cbody$1").replace(/<body(.*?)aria-label="(.+?)"/i,"\x3cbody$1").replace(/<body(.*?)aria-readonly="?(?:true|false)"?/i,"\x3cbody$1"));d=a.dataProcessor.toDataFormat(d);f&&(d=f+"\n"+d);c&&(d=c+"\n"+d);return d},focus:function(){this._.isLoadingData?this._.isPendingFocus=!0:l.baseProto.focus.call(this)},detach:function(){if(!this.preserveIframe){var a=this.editor,e=a.document,a=a.container.findOne("iframe.cke_wysiwyg_frame");
|
||||
l.baseProto.detach.call(this);this.clearCustomData(this._.expandoNumber);e.getDocumentElement().clearCustomData();CKEDITOR.tools.removeFunction(this._.frameLoadedHandler);a&&(a.clearCustomData(),(e=a.removeCustomData("onResize"))&&e.removeListener(),a.isDetached()||a.remove())}}}})})();CKEDITOR.config.disableObjectResizing=!1;CKEDITOR.config.disableNativeTableHandles=!0;CKEDITOR.config.disableNativeSpellChecker=!0;CKEDITOR.config.observableParent=CKEDITOR.document.$;CKEDITOR.config.plugins='dialogui,dialog,about,autogrow,base64image,basicstyles,bidi,blockquote,button,notification,toolbar,clipboard,panelbutton,panel,floatpanel,colorbutton,colordialog,menu,contextmenu,div,textwatcher,autocomplete,textmatch,xml,ajax,emoji,enterkey,entities,fakeobjects,floatingspace,listblock,richcombo,font,format,image,indent,indentlist,justify,link,list,menubutton,onchange,pastetools,pastefromgdocs,pastefromword,pastetext,scayt,sourcearea,tab,table,tabletools,tableresize,undo,lineutils,widgetselection,widget,filetools,notificationaggregator,uploadwidget,uploadimage,wysiwygarea';CKEDITOR.config.skin='n1theme';(function() {var setIcons = function(icons, strip) {var path = CKEDITOR.getUrl( 'plugins/' + strip );icons = icons.split( ',' );for ( var i = 0; i < icons.length; i++ )CKEDITOR.skin.icons[ icons[ i ] ] = { path: path, offset: -icons[ ++i ], bgsize : icons[ ++i ] };};if (CKEDITOR.env.hidpi) setIcons('about,0,,base64image,24,,bold,48,,italic,72,,strike,96,,subscript,120,,superscript,144,,underline,168,,bidiltr,192,,bidirtl,216,,blockquote,240,,copy-rtl,264,,copy,288,,cut-rtl,312,,cut,336,,paste-rtl,360,,paste,384,,bgcolor,408,,textcolor,432,,creatediv,456,,emojipanel,480,,image,504,,indent-rtl,528,,indent,552,,outdent-rtl,576,,outdent,600,,justifyblock,624,,justifycenter,648,,justifyleft,672,,justifyright,696,,anchor-rtl,720,,anchor,744,,link,768,,unlink,792,,bulletedlist-rtl,816,,bulletedlist,840,,numberedlist-rtl,864,,numberedlist,888,,pastefromword-rtl,912,,pastefromword,936,,pastetext-rtl,960,,pastetext,984,,scayt,1008,,source-rtl,1032,,source,1056,,table,1080,,redo-rtl,1104,,redo,1128,,undo-rtl,1152,,undo,1176,','icons_hidpi.png');else setIcons('about,0,auto,base64image,24,auto,bold,48,auto,italic,72,auto,strike,96,auto,subscript,120,auto,superscript,144,auto,underline,168,auto,bidiltr,192,auto,bidirtl,216,auto,blockquote,240,auto,copy-rtl,264,auto,copy,288,auto,cut-rtl,312,auto,cut,336,auto,paste-rtl,360,auto,paste,384,auto,bgcolor,408,auto,textcolor,432,auto,creatediv,456,auto,emojipanel,480,auto,image,504,auto,indent-rtl,528,auto,indent,552,auto,outdent-rtl,576,auto,outdent,600,auto,justifyblock,624,auto,justifycenter,648,auto,justifyleft,672,auto,justifyright,696,auto,anchor-rtl,720,auto,anchor,744,auto,link,768,auto,unlink,792,auto,bulletedlist-rtl,816,auto,bulletedlist,840,auto,numberedlist-rtl,864,auto,numberedlist,888,auto,pastefromword-rtl,912,auto,pastefromword,936,auto,pastetext-rtl,960,auto,pastetext,984,auto,scayt,1008,auto,source-rtl,1032,auto,source,1056,auto,table,1080,auto,redo-rtl,1104,auto,redo,1128,auto,undo-rtl,1152,auto,undo,1176,auto','icons.png');})();CKEDITOR.lang.languages={"ar":1,"bg":1,"bs":1,"ca":1,"cs":1,"cy":1,"da":1,"de":1,"en":1,"es":1,"eu":1,"fi":1,"fr":1,"he":1,"hr":1,"hu":1,"is":1,"it":1,"ja":1,"lt":1,"lv":1,"mk":1,"nb":1,"nl":1,"no":1,"pl":1,"pt":1,"pt-br":1,"ro":1,"ru":1,"sk":1,"sl":1,"sr":1,"sr-latn":1,"sv":1,"tr":1,"uk":1,"zh":1,"zh-cn":1};}());
|
||||
l.baseProto.detach.call(this);this.clearCustomData(this._.expandoNumber);e.getDocumentElement().clearCustomData();CKEDITOR.tools.removeFunction(this._.frameLoadedHandler);a&&(a.clearCustomData(),(e=a.removeCustomData("onResize"))&&e.removeListener(),a.isDetached()||a.remove())}}}})})();CKEDITOR.config.disableObjectResizing=!1;CKEDITOR.config.disableNativeTableHandles=!0;CKEDITOR.config.disableNativeSpellChecker=!0;CKEDITOR.config.observableParent=CKEDITOR.document.$;(function(){CKEDITOR.plugins.add("autolink",{requires:"clipboard,textmatch,link",isSupportedEnvironment:function(){return!CKEDITOR.env.ie||CKEDITOR.env.edge},init:function(b){function e(a){a=CKEDITOR.tools.htmlDecodeAttr(a);var c=new CKEDITOR.dom.element("a"),d=a.replace(/"/g,"%22"),d=d.match(b.config.autolink_urlRegex)?d:"mailto:"+d;c.setText(a);c.setAttribute("href",d);a=CKEDITOR.plugins.link.parseLinkAttributes(b,c);a=CKEDITOR.plugins.link.getLinkAttributes(b,a);CKEDITOR.tools.isEmpty(a.set)||
|
||||
c.setAttributes(a.set);a.removed.length&&c.removeAttributes(a.removed);c.removeAttribute("data-cke-saved-href");return c.getOuterHtml()}function g(a,c){var b=a.slice(0,c).split(/\s+/);return(b=b[b.length-1])&&f(b)?{start:a.lastIndexOf(b),end:c}:null}function f(a){return a.match(b.config.autolink_urlRegex)||a.match(b.config.autolink_emailRegex)}this.isSupportedEnvironment()&&(b.on("paste",function(a){if(a.data.dataTransfer.getTransferType(b)!=CKEDITOR.DATA_TRANSFER_INTERNAL){var c=a.data.dataValue;
|
||||
-1<c.indexOf("\x3c")||!f(c)||(a.data.dataValue=e(c),a.data.type="html")}}),b.on("key",function(a){if("wysiwyg"===b.mode&&-1!=CKEDITOR.tools.indexOf(b.config.autolink_commitKeystrokes,a.data.keyCode)){var c=CKEDITOR.plugins.textMatch.match(b.getSelection().getRanges()[0],g);if(c&&(a=b.getSelection(),!a.getRanges()[0].startContainer.getAscendant("a",!0)&&(a.selectRanges([c.range]),b.insertHtml(e(c.text),"text"),!CKEDITOR.env.webkit))){var c=a.getRanges()[0],d=b.createRange();d.setStartAfter(c.startContainer);
|
||||
a.selectRanges([d])}}}))}});CKEDITOR.config.autolink_commitKeystrokes=[13,32];CKEDITOR.config.autolink_urlRegex=/^(https?|ftp):\/\/(-\.)?([^\s\/?\.#]\.?)+(\/[^\s]*)?[^\s\.,]$/i;CKEDITOR.config.autolink_emailRegex=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/})();CKEDITOR.config.plugins='dialogui,dialog,about,autogrow,base64image,basicstyles,bidi,blockquote,button,notification,toolbar,clipboard,panelbutton,panel,floatpanel,colorbutton,colordialog,menu,contextmenu,div,textwatcher,autocomplete,textmatch,xml,ajax,emoji,enterkey,entities,fakeobjects,floatingspace,listblock,richcombo,font,format,image,indent,indentlist,justify,link,list,menubutton,onchange,pastetools,pastefromgdocs,pastefromword,pastetext,scayt,sourcearea,tab,table,tabletools,tableresize,undo,lineutils,widgetselection,widget,filetools,notificationaggregator,uploadwidget,uploadimage,wysiwygarea,autolink';CKEDITOR.config.skin='n1theme';(function() {var setIcons = function(icons, strip) {var path = CKEDITOR.getUrl( 'plugins/' + strip );icons = icons.split( ',' );for ( var i = 0; i < icons.length; i++ )CKEDITOR.skin.icons[ icons[ i ] ] = { path: path, offset: -icons[ ++i ], bgsize : icons[ ++i ] };};if (CKEDITOR.env.hidpi) setIcons('about,0,,base64image,24,,bold,48,,italic,72,,strike,96,,subscript,120,,superscript,144,,underline,168,,bidiltr,192,,bidirtl,216,,blockquote,240,,copy-rtl,264,,copy,288,,cut-rtl,312,,cut,336,,paste-rtl,360,,paste,384,,bgcolor,408,,textcolor,432,,creatediv,456,,emojipanel,480,,image,504,,indent-rtl,528,,indent,552,,outdent-rtl,576,,outdent,600,,justifyblock,624,,justifycenter,648,,justifyleft,672,,justifyright,696,,anchor-rtl,720,,anchor,744,,link,768,,unlink,792,,bulletedlist-rtl,816,,bulletedlist,840,,numberedlist-rtl,864,,numberedlist,888,,pastefromword-rtl,912,,pastefromword,936,,pastetext-rtl,960,,pastetext,984,,scayt,1008,,source-rtl,1032,,source,1056,,table,1080,,redo-rtl,1104,,redo,1128,,undo-rtl,1152,,undo,1176,','icons_hidpi.png');else setIcons('about,0,auto,base64image,24,auto,bold,48,auto,italic,72,auto,strike,96,auto,subscript,120,auto,superscript,144,auto,underline,168,auto,bidiltr,192,auto,bidirtl,216,auto,blockquote,240,auto,copy-rtl,264,auto,copy,288,auto,cut-rtl,312,auto,cut,336,auto,paste-rtl,360,auto,paste,384,auto,bgcolor,408,auto,textcolor,432,auto,creatediv,456,auto,emojipanel,480,auto,image,504,auto,indent-rtl,528,auto,indent,552,auto,outdent-rtl,576,auto,outdent,600,auto,justifyblock,624,auto,justifycenter,648,auto,justifyleft,672,auto,justifyright,696,auto,anchor-rtl,720,auto,anchor,744,auto,link,768,auto,unlink,792,auto,bulletedlist-rtl,816,auto,bulletedlist,840,auto,numberedlist-rtl,864,auto,numberedlist,888,auto,pastefromword-rtl,912,auto,pastefromword,936,auto,pastetext-rtl,960,auto,pastetext,984,auto,scayt,1008,auto,source-rtl,1032,auto,source,1056,auto,table,1080,auto,redo-rtl,1104,auto,redo,1128,auto,undo-rtl,1152,auto,undo,1176,auto','icons.png');})();CKEDITOR.lang.languages={"ar":1,"bg":1,"bs":1,"ca":1,"cs":1,"cy":1,"da":1,"de":1,"en":1,"es":1,"eu":1,"fi":1,"fr":1,"he":1,"hr":1,"hu":1,"is":1,"it":1,"ja":1,"lt":1,"lv":1,"mk":1,"nb":1,"nl":1,"no":1,"pl":1,"pt":1,"pt-br":1,"ro":1,"ru":1,"sk":1,"sl":1,"sr":1,"sr-latn":1,"sv":1,"tr":1,"uk":1,"zh":1,"zh-cn":1};}());
|
||||
+208
-208
@@ -1,208 +1,208 @@
|
||||
/*
|
||||
Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
body
|
||||
{
|
||||
/* Font */
|
||||
/* Emoji fonts are added to visualise them nicely in Internet Explorer. */
|
||||
font-family: sans-serif, Arial, Verdana, "Trebuchet MS", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-size: 12px;
|
||||
|
||||
/* Text color */
|
||||
color: #333;
|
||||
|
||||
/* Remove the background color to make it transparent. */
|
||||
background-color: #fff;
|
||||
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.cke_editable
|
||||
{
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
|
||||
/* Fix for missing scrollbars with RTL texts. (#10488) */
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
blockquote
|
||||
{
|
||||
font-style: italic;
|
||||
font-family: Georgia, Times, "Times New Roman", serif;
|
||||
padding: 2px 0;
|
||||
border-style: solid;
|
||||
border-color: #ccc;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.cke_contents_ltr blockquote
|
||||
{
|
||||
padding-left: 20px;
|
||||
padding-right: 8px;
|
||||
border-left-width: 5px;
|
||||
}
|
||||
|
||||
.cke_contents_rtl blockquote
|
||||
{
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
border-right-width: 5px;
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
color: #0782C1;
|
||||
}
|
||||
|
||||
ol,ul,dl
|
||||
{
|
||||
/* IE7: reset rtl list margin. (#7334) */
|
||||
*margin-right: 0px;
|
||||
/* Preserved spaces for list items with text direction different than the list. (#6249,#8049)*/
|
||||
padding: 0 40px;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6
|
||||
{
|
||||
font-weight: normal;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
hr
|
||||
{
|
||||
border: 0px;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
img.right
|
||||
{
|
||||
border: 1px solid #ccc;
|
||||
float: right;
|
||||
margin-left: 15px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
img.left
|
||||
{
|
||||
border: 1px solid #ccc;
|
||||
float: left;
|
||||
margin-right: 15px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
pre
|
||||
{
|
||||
white-space: pre-wrap; /* CSS 2.1 */
|
||||
word-wrap: break-word; /* IE7 */
|
||||
-moz-tab-size: 4;
|
||||
tab-size: 4;
|
||||
}
|
||||
|
||||
.marker
|
||||
{
|
||||
background-color: Yellow;
|
||||
}
|
||||
|
||||
span[lang]
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
figure
|
||||
{
|
||||
text-align: center;
|
||||
outline: solid 1px #ccc;
|
||||
background: rgba(0,0,0,0.05);
|
||||
padding: 10px;
|
||||
margin: 10px 20px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
figure > figcaption
|
||||
{
|
||||
text-align: center;
|
||||
display: block; /* For IE8 */
|
||||
}
|
||||
|
||||
a > img {
|
||||
padding: 1px;
|
||||
margin: 1px;
|
||||
border: none;
|
||||
outline: 1px solid #0782C1;
|
||||
}
|
||||
|
||||
/* Widget Styles */
|
||||
.code-featured
|
||||
{
|
||||
border: 5px solid red;
|
||||
}
|
||||
|
||||
.math-featured
|
||||
{
|
||||
padding: 20px;
|
||||
box-shadow: 0 0 2px rgba(200, 0, 0, 1);
|
||||
background-color: rgba(255, 0, 0, 0.05);
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.image-clean
|
||||
{
|
||||
border: 0;
|
||||
background: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.image-clean > figcaption
|
||||
{
|
||||
font-size: .9em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.image-grayscale
|
||||
{
|
||||
background-color: white;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.image-grayscale img, img.image-grayscale
|
||||
{
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
||||
.embed-240p
|
||||
{
|
||||
max-width: 426px;
|
||||
max-height: 240px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-360p
|
||||
{
|
||||
max-width: 640px;
|
||||
max-height: 360px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-480p
|
||||
{
|
||||
max-width: 854px;
|
||||
max-height: 480px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-720p
|
||||
{
|
||||
max-width: 1280px;
|
||||
max-height: 720px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-1080p
|
||||
{
|
||||
max-width: 1920px;
|
||||
max-height: 1080px;
|
||||
margin:0 auto;
|
||||
}
|
||||
/*
|
||||
Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
body
|
||||
{
|
||||
/* Font */
|
||||
/* Emoji fonts are added to visualise them nicely in Internet Explorer. */
|
||||
font-family: sans-serif, Arial, Verdana, "Trebuchet MS", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-size: 12px;
|
||||
|
||||
/* Text color */
|
||||
color: #333;
|
||||
|
||||
/* Remove the background color to make it transparent. */
|
||||
background-color: #fff;
|
||||
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.cke_editable
|
||||
{
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
|
||||
/* Fix for missing scrollbars with RTL texts. (#10488) */
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
blockquote
|
||||
{
|
||||
font-style: italic;
|
||||
font-family: Georgia, Times, "Times New Roman", serif;
|
||||
padding: 2px 0;
|
||||
border-style: solid;
|
||||
border-color: #ccc;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.cke_contents_ltr blockquote
|
||||
{
|
||||
padding-left: 20px;
|
||||
padding-right: 8px;
|
||||
border-left-width: 5px;
|
||||
}
|
||||
|
||||
.cke_contents_rtl blockquote
|
||||
{
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
border-right-width: 5px;
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
color: #0782C1;
|
||||
}
|
||||
|
||||
ol,ul,dl
|
||||
{
|
||||
/* IE7: reset rtl list margin. (#7334) */
|
||||
*margin-right: 0px;
|
||||
/* Preserved spaces for list items with text direction different than the list. (#6249,#8049)*/
|
||||
padding: 0 40px;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6
|
||||
{
|
||||
font-weight: normal;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
hr
|
||||
{
|
||||
border: 0px;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
img.right
|
||||
{
|
||||
border: 1px solid #ccc;
|
||||
float: right;
|
||||
margin-left: 15px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
img.left
|
||||
{
|
||||
border: 1px solid #ccc;
|
||||
float: left;
|
||||
margin-right: 15px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
pre
|
||||
{
|
||||
white-space: pre-wrap; /* CSS 2.1 */
|
||||
word-wrap: break-word; /* IE7 */
|
||||
-moz-tab-size: 4;
|
||||
tab-size: 4;
|
||||
}
|
||||
|
||||
.marker
|
||||
{
|
||||
background-color: Yellow;
|
||||
}
|
||||
|
||||
span[lang]
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
figure
|
||||
{
|
||||
text-align: center;
|
||||
outline: solid 1px #ccc;
|
||||
background: rgba(0,0,0,0.05);
|
||||
padding: 10px;
|
||||
margin: 10px 20px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
figure > figcaption
|
||||
{
|
||||
text-align: center;
|
||||
display: block; /* For IE8 */
|
||||
}
|
||||
|
||||
a > img {
|
||||
padding: 1px;
|
||||
margin: 1px;
|
||||
border: none;
|
||||
outline: 1px solid #0782C1;
|
||||
}
|
||||
|
||||
/* Widget Styles */
|
||||
.code-featured
|
||||
{
|
||||
border: 5px solid red;
|
||||
}
|
||||
|
||||
.math-featured
|
||||
{
|
||||
padding: 20px;
|
||||
box-shadow: 0 0 2px rgba(200, 0, 0, 1);
|
||||
background-color: rgba(255, 0, 0, 0.05);
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.image-clean
|
||||
{
|
||||
border: 0;
|
||||
background: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.image-clean > figcaption
|
||||
{
|
||||
font-size: .9em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.image-grayscale
|
||||
{
|
||||
background-color: white;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.image-grayscale img, img.image-grayscale
|
||||
{
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
||||
.embed-240p
|
||||
{
|
||||
max-width: 426px;
|
||||
max-height: 240px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-360p
|
||||
{
|
||||
max-width: 640px;
|
||||
max-height: 360px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-480p
|
||||
{
|
||||
max-width: 854px;
|
||||
max-height: 480px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-720p
|
||||
{
|
||||
max-width: 1280px;
|
||||
max-height: 720px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-1080p
|
||||
{
|
||||
max-width: 1920px;
|
||||
max-height: 1080px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
+1243
-1243
File diff suppressed because it is too large
Load Diff
@@ -1,21 +1,21 @@
|
||||
Base64Image Plugin for CKEditor 4
|
||||
=================================
|
||||
|
||||
Created by ALL-INKL.COM - Neue Medien Münnich - 04. Feb 2014
|
||||
|
||||
Adds images from local client as base64 string into the source without server
|
||||
side processing. You can also add external image urls into the source.
|
||||
|
||||
## Requirements
|
||||
The Browser must support the JavaScript File API.
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin from http://github.com/nmmf/base64image
|
||||
|
||||
2. Extract (decompress) the downloaded file into the plugins folder of your
|
||||
CKEditor installation.
|
||||
Example: http://example.com/ckeditor/plugins/base64image
|
||||
|
||||
3. Enable the plugin by using the extraPlugins configuration setting.
|
||||
Example: CKEDITOR.config.extraPlugins = "base64image";
|
||||
Base64Image Plugin for CKEditor 4
|
||||
=================================
|
||||
|
||||
Created by ALL-INKL.COM - Neue Medien Münnich - 04. Feb 2014
|
||||
|
||||
Adds images from local client as base64 string into the source without server
|
||||
side processing. You can also add external image urls into the source.
|
||||
|
||||
## Requirements
|
||||
The Browser must support the JavaScript File API.
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin from http://github.com/nmmf/base64image
|
||||
|
||||
2. Extract (decompress) the downloaded file into the plugins folder of your
|
||||
CKEditor installation.
|
||||
Example: http://example.com/ckeditor/plugins/base64image
|
||||
|
||||
3. Enable the plugin by using the extraPlugins configuration setting.
|
||||
Example: CKEDITOR.config.extraPlugins = "base64image";
|
||||
|
||||
+20
-20
@@ -1,20 +1,20 @@
|
||||
/**
|
||||
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
.cke_colordialog_colorcell {
|
||||
width: 12px; /* All cells have equal width which depends on parent width (in this case table parent). Width works more like max-width. */
|
||||
height: 14px;
|
||||
padding: 1px; /* Padding is replaced by border for focused cells. Prevents 'jumping' when adding borders. */
|
||||
}
|
||||
|
||||
.cke_colordialog_colorcell.cke_colordialog_focused_light,
|
||||
.cke_colordialog_colorcell.cke_colordialog_focused_dark {
|
||||
padding: 0; /* Shrink cell to allow 1px border indicating focus. */
|
||||
border: 1px dotted #000;
|
||||
}
|
||||
|
||||
.cke_colordialog_colorcell.cke_colordialog_focused_dark {
|
||||
border-color: #FFF;
|
||||
}
|
||||
/**
|
||||
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
.cke_colordialog_colorcell {
|
||||
width: 12px; /* All cells have equal width which depends on parent width (in this case table parent). Width works more like max-width. */
|
||||
height: 14px;
|
||||
padding: 1px; /* Padding is replaced by border for focused cells. Prevents 'jumping' when adding borders. */
|
||||
}
|
||||
|
||||
.cke_colordialog_colorcell.cke_colordialog_focused_light,
|
||||
.cke_colordialog_colorcell.cke_colordialog_focused_dark {
|
||||
padding: 0; /* Shrink cell to allow 1px border indicating focus. */
|
||||
border: 1px dotted #000;
|
||||
}
|
||||
|
||||
.cke_colordialog_colorcell.cke_colordialog_focused_dark {
|
||||
border-color: #FFF;
|
||||
}
|
||||
|
||||
+18
-18
@@ -1,18 +1,18 @@
|
||||
.cke_dialog_open {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cke_dialog_container {
|
||||
position: fixed;
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 10010;
|
||||
}
|
||||
|
||||
.cke_dialog_body {
|
||||
position: relative;
|
||||
}
|
||||
.cke_dialog_open {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cke_dialog_container {
|
||||
position: fixed;
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 10010;
|
||||
}
|
||||
|
||||
.cke_dialog_body {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
+237
-237
@@ -1,237 +1,237 @@
|
||||
.cke_emoji {
|
||||
overflow-y: hidden;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.cke_emoji-suggestion_item {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
font-family: sans-serif, Arial, Verdana, "Trebuchet MS", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
}
|
||||
|
||||
.cke_emoji-suggestion_item span {
|
||||
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
}
|
||||
|
||||
.cke_emoji-panel {
|
||||
width: 310px;
|
||||
height: 300px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.cke_emoji-panel_block a {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel > h2 {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
/* TOP NAVIGATION */
|
||||
.cke_emoji-navigation_icons {
|
||||
display: none;
|
||||
}
|
||||
.cke_emoji-inner_panel > nav {
|
||||
width: 100%;
|
||||
height: 24px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 6px;
|
||||
padding-bottom: 4px;
|
||||
border-bottom: 1px solid #d1d1d1;
|
||||
}
|
||||
.cke_emoji-inner_panel > nav > ul {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
margin-top: 8px;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel > nav li {
|
||||
display: inline-block;
|
||||
width: 24px;
|
||||
height: auto;
|
||||
margin: 0 6px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.cke_browser_ie .cke_emoji-inner_panel > nav li {
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel li svg {
|
||||
opacity: 0.4;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel li span {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel li:hover svg, .cke_emoji-inner_panel li:hover span{
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel .active {
|
||||
border-bottom: 5px solid rgba(44, 195, 255, 1);
|
||||
}
|
||||
|
||||
.cke_emoji-navigation_item span {
|
||||
width: 21px;
|
||||
height: 21px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* SEARCHBOX */
|
||||
.cke_emoji-search {
|
||||
position: relative;
|
||||
height: 25px;
|
||||
display: block;
|
||||
border: 1px solid #d1d1d1;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.cke_emoji-search .cke_emoji-search_loupe {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: 6px;
|
||||
display: inline-block;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
.cke_rtl .cke_emoji-search .cke_emoji-search_loupe {
|
||||
left: auto;
|
||||
right: 6px;
|
||||
}
|
||||
|
||||
.cke_emoji-search span {
|
||||
background-repeat: no-repeat;
|
||||
background-position: -60px -15px;
|
||||
background-size: 75px 30px;
|
||||
}
|
||||
|
||||
.cke_emoji-search input {
|
||||
-webkit-appearance: none;
|
||||
border: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding-left: 25px;
|
||||
padding-right: 10px;
|
||||
margin-left: 0
|
||||
}
|
||||
|
||||
.cke_rtl .cke_emoji-search input {
|
||||
padding-left: 10px;
|
||||
padding-right: 25px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* EMOJI */
|
||||
.cke_emoji-outer_emoji_block {
|
||||
height: 180px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
margin-top: 5px;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
.cke_emoji-outer_emoji_block h2 {
|
||||
font-size: 1.3em;
|
||||
font-weight: 600;
|
||||
margin: 5px 0 3px 0;
|
||||
}
|
||||
|
||||
.cke_emoji-outer_emoji_block ul {
|
||||
margin: 0 0 15px 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.cke_emoji-item {
|
||||
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
list-style-type: none;
|
||||
display: inline-table;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
font-size: 1.8em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.cke_emoji-item:hover {
|
||||
border-radius: 10%;
|
||||
background-color: rgba(44, 195, 255, 0.2);
|
||||
}
|
||||
|
||||
.cke_emoji-item > a {
|
||||
text-decoration: none;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.cke_emoji-outer_emoji_block .hidden {
|
||||
display: none
|
||||
}
|
||||
|
||||
/* STATUS BAR */
|
||||
.cke_emoji-status_bar {
|
||||
height: 34px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
padding-top: 3px;
|
||||
margin-top: 3px;
|
||||
border-top: 1px solid #d1d1d1;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.cke_emoji-status_bar p {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.cke_emoji-status_bar > div {
|
||||
display: inline-block;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.cke_emoji-status_icon {
|
||||
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-size: 2.2em;
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.cke_rtl .cke_emoji-status_icon {
|
||||
float: right;
|
||||
margin-right: 0px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.cke_emoji-panel_block p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
p.cke_emoji-status_description {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
p.cke_emoji-status_full_name {
|
||||
font-size: 0.8em;
|
||||
color: #d1d1d1;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel a:focus, .cke_emoji-inner_panel input:focus {
|
||||
outline: 2px solid #139FF7;
|
||||
}
|
||||
.cke_emoji {
|
||||
overflow-y: hidden;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.cke_emoji-suggestion_item {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
font-family: sans-serif, Arial, Verdana, "Trebuchet MS", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
}
|
||||
|
||||
.cke_emoji-suggestion_item span {
|
||||
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
}
|
||||
|
||||
.cke_emoji-panel {
|
||||
width: 310px;
|
||||
height: 300px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.cke_emoji-panel_block a {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel > h2 {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
/* TOP NAVIGATION */
|
||||
.cke_emoji-navigation_icons {
|
||||
display: none;
|
||||
}
|
||||
.cke_emoji-inner_panel > nav {
|
||||
width: 100%;
|
||||
height: 24px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 6px;
|
||||
padding-bottom: 4px;
|
||||
border-bottom: 1px solid #d1d1d1;
|
||||
}
|
||||
.cke_emoji-inner_panel > nav > ul {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
margin-top: 8px;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel > nav li {
|
||||
display: inline-block;
|
||||
width: 24px;
|
||||
height: auto;
|
||||
margin: 0 6px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.cke_browser_ie .cke_emoji-inner_panel > nav li {
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel li svg {
|
||||
opacity: 0.4;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel li span {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel li:hover svg, .cke_emoji-inner_panel li:hover span{
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel .active {
|
||||
border-bottom: 5px solid rgba(44, 195, 255, 1);
|
||||
}
|
||||
|
||||
.cke_emoji-navigation_item span {
|
||||
width: 21px;
|
||||
height: 21px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* SEARCHBOX */
|
||||
.cke_emoji-search {
|
||||
position: relative;
|
||||
height: 25px;
|
||||
display: block;
|
||||
border: 1px solid #d1d1d1;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.cke_emoji-search .cke_emoji-search_loupe {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: 6px;
|
||||
display: inline-block;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
.cke_rtl .cke_emoji-search .cke_emoji-search_loupe {
|
||||
left: auto;
|
||||
right: 6px;
|
||||
}
|
||||
|
||||
.cke_emoji-search span {
|
||||
background-repeat: no-repeat;
|
||||
background-position: -60px -15px;
|
||||
background-size: 75px 30px;
|
||||
}
|
||||
|
||||
.cke_emoji-search input {
|
||||
-webkit-appearance: none;
|
||||
border: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding-left: 25px;
|
||||
padding-right: 10px;
|
||||
margin-left: 0
|
||||
}
|
||||
|
||||
.cke_rtl .cke_emoji-search input {
|
||||
padding-left: 10px;
|
||||
padding-right: 25px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* EMOJI */
|
||||
.cke_emoji-outer_emoji_block {
|
||||
height: 180px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
margin-top: 5px;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
.cke_emoji-outer_emoji_block h2 {
|
||||
font-size: 1.3em;
|
||||
font-weight: 600;
|
||||
margin: 5px 0 3px 0;
|
||||
}
|
||||
|
||||
.cke_emoji-outer_emoji_block ul {
|
||||
margin: 0 0 15px 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.cke_emoji-item {
|
||||
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
list-style-type: none;
|
||||
display: inline-table;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
font-size: 1.8em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.cke_emoji-item:hover {
|
||||
border-radius: 10%;
|
||||
background-color: rgba(44, 195, 255, 0.2);
|
||||
}
|
||||
|
||||
.cke_emoji-item > a {
|
||||
text-decoration: none;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.cke_emoji-outer_emoji_block .hidden {
|
||||
display: none
|
||||
}
|
||||
|
||||
/* STATUS BAR */
|
||||
.cke_emoji-status_bar {
|
||||
height: 34px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
padding-top: 3px;
|
||||
margin-top: 3px;
|
||||
border-top: 1px solid #d1d1d1;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.cke_emoji-status_bar p {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.cke_emoji-status_bar > div {
|
||||
display: inline-block;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.cke_emoji-status_icon {
|
||||
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-size: 2.2em;
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.cke_rtl .cke_emoji-status_icon {
|
||||
float: right;
|
||||
margin-right: 0px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.cke_emoji-panel_block p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
p.cke_emoji-status_description {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
p.cke_emoji-status_full_name {
|
||||
font-size: 0.8em;
|
||||
color: #d1d1d1;
|
||||
}
|
||||
|
||||
.cke_emoji-inner_panel a:focus, .cke_emoji-inner_panel input:focus {
|
||||
outline: 2px solid #139FF7;
|
||||
}
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
Software License Agreement
|
||||
==========================
|
||||
|
||||
**CKEditor SCAYT Plugin**
|
||||
Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved.
|
||||
|
||||
Licensed under the terms of any of the following licenses at your choice:
|
||||
|
||||
* GNU General Public License Version 2 or later (the "GPL"):
|
||||
http://www.gnu.org/licenses/gpl.html
|
||||
|
||||
* GNU Lesser General Public License Version 2.1 or later (the "LGPL"):
|
||||
http://www.gnu.org/licenses/lgpl.html
|
||||
|
||||
* Mozilla Public License Version 1.1 or later (the "MPL"):
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice.
|
||||
|
||||
Sources of Intellectual Property Included in this plugin
|
||||
--------------------------------------------------------
|
||||
|
||||
Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission.
|
||||
|
||||
Trademarks
|
||||
----------
|
||||
|
||||
CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
|
||||
Software License Agreement
|
||||
==========================
|
||||
|
||||
**CKEditor SCAYT Plugin**
|
||||
Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved.
|
||||
|
||||
Licensed under the terms of any of the following licenses at your choice:
|
||||
|
||||
* GNU General Public License Version 2 or later (the "GPL"):
|
||||
http://www.gnu.org/licenses/gpl.html
|
||||
|
||||
* GNU Lesser General Public License Version 2.1 or later (the "LGPL"):
|
||||
http://www.gnu.org/licenses/lgpl.html
|
||||
|
||||
* Mozilla Public License Version 1.1 or later (the "MPL"):
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice.
|
||||
|
||||
Sources of Intellectual Property Included in this plugin
|
||||
--------------------------------------------------------
|
||||
|
||||
Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission.
|
||||
|
||||
Trademarks
|
||||
----------
|
||||
|
||||
CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
|
||||
|
||||
+23
-23
@@ -1,23 +1,23 @@
|
||||
div.cke_dialog_ui_scaytItemList {
|
||||
border: 1px solid #c9cccf;
|
||||
}
|
||||
|
||||
.cke_scaytItemList-child {
|
||||
position: relative;
|
||||
padding: 6px 30px 6px 5px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.cke_scaytItemList-child:hover {
|
||||
background: #ebebeb;
|
||||
}
|
||||
|
||||
.cke_scaytItemList-child .cke_scaytItemList_remove {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 5px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
}
|
||||
div.cke_dialog_ui_scaytItemList {
|
||||
border: 1px solid #c9cccf;
|
||||
}
|
||||
|
||||
.cke_scaytItemList-child {
|
||||
position: relative;
|
||||
padding: 6px 30px 6px 5px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.cke_scaytItemList-child:hover {
|
||||
background: #ebebeb;
|
||||
}
|
||||
|
||||
.cke_scaytItemList-child .cke_scaytItemList_remove {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 5px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
+71
-71
@@ -1,71 +1,71 @@
|
||||
a
|
||||
{
|
||||
text-decoration:none;
|
||||
padding: 2px 4px 4px 6px;
|
||||
display : block;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
margin : 0px;
|
||||
}
|
||||
|
||||
a.cke_scayt_toogle:hover,
|
||||
a.cke_scayt_toogle:focus,
|
||||
a.cke_scayt_toogle:active
|
||||
{
|
||||
border-color: #316ac5;
|
||||
background-color: #dff1ff;
|
||||
color : #000;
|
||||
cursor: pointer;
|
||||
margin : 0px;
|
||||
}
|
||||
a.cke_scayt_toogle {
|
||||
color : #316ac5;
|
||||
border-color: #fff;
|
||||
}
|
||||
.scayt_enabled a.cke_scayt_item {
|
||||
color : #316ac5;
|
||||
border-color: #fff;
|
||||
margin : 0px;
|
||||
}
|
||||
.scayt_disabled a.cke_scayt_item {
|
||||
color : gray;
|
||||
border-color : #fff;
|
||||
}
|
||||
.scayt_enabled a.cke_scayt_item:hover,
|
||||
.scayt_enabled a.cke_scayt_item:focus,
|
||||
.scayt_enabled a.cke_scayt_item:active
|
||||
{
|
||||
border-color: #316ac5;
|
||||
background-color: #dff1ff;
|
||||
color : #000;
|
||||
cursor: pointer;
|
||||
}
|
||||
.scayt_disabled a.cke_scayt_item:hover,
|
||||
.scayt_disabled a.cke_scayt_item:focus,
|
||||
.scayt_disabled a.cke_scayt_item:active
|
||||
{
|
||||
border-color: gray;
|
||||
background-color: #dff1ff;
|
||||
color : gray;
|
||||
cursor: no-drop;
|
||||
}
|
||||
.cke_scayt_set_on, .cke_scayt_set_off
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.scayt_enabled .cke_scayt_set_on
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.scayt_disabled .cke_scayt_set_on
|
||||
{
|
||||
display: inline;
|
||||
}
|
||||
.scayt_disabled .cke_scayt_set_off
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.scayt_enabled .cke_scayt_set_off
|
||||
{
|
||||
display: inline;
|
||||
}
|
||||
a
|
||||
{
|
||||
text-decoration:none;
|
||||
padding: 2px 4px 4px 6px;
|
||||
display : block;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
margin : 0px;
|
||||
}
|
||||
|
||||
a.cke_scayt_toogle:hover,
|
||||
a.cke_scayt_toogle:focus,
|
||||
a.cke_scayt_toogle:active
|
||||
{
|
||||
border-color: #316ac5;
|
||||
background-color: #dff1ff;
|
||||
color : #000;
|
||||
cursor: pointer;
|
||||
margin : 0px;
|
||||
}
|
||||
a.cke_scayt_toogle {
|
||||
color : #316ac5;
|
||||
border-color: #fff;
|
||||
}
|
||||
.scayt_enabled a.cke_scayt_item {
|
||||
color : #316ac5;
|
||||
border-color: #fff;
|
||||
margin : 0px;
|
||||
}
|
||||
.scayt_disabled a.cke_scayt_item {
|
||||
color : gray;
|
||||
border-color : #fff;
|
||||
}
|
||||
.scayt_enabled a.cke_scayt_item:hover,
|
||||
.scayt_enabled a.cke_scayt_item:focus,
|
||||
.scayt_enabled a.cke_scayt_item:active
|
||||
{
|
||||
border-color: #316ac5;
|
||||
background-color: #dff1ff;
|
||||
color : #000;
|
||||
cursor: pointer;
|
||||
}
|
||||
.scayt_disabled a.cke_scayt_item:hover,
|
||||
.scayt_disabled a.cke_scayt_item:focus,
|
||||
.scayt_disabled a.cke_scayt_item:active
|
||||
{
|
||||
border-color: gray;
|
||||
background-color: #dff1ff;
|
||||
color : gray;
|
||||
cursor: no-drop;
|
||||
}
|
||||
.cke_scayt_set_on, .cke_scayt_set_off
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.scayt_enabled .cke_scayt_set_on
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.scayt_disabled .cke_scayt_set_on
|
||||
{
|
||||
display: inline;
|
||||
}
|
||||
.scayt_disabled .cke_scayt_set_off
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.scayt_enabled .cke_scayt_set_off
|
||||
{
|
||||
display: inline;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+137
-137
@@ -1,137 +1,137 @@
|
||||
/**
|
||||
* Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
// This file contains style definitions that can be used by CKEditor plugins.
|
||||
//
|
||||
// The most common use for it is the "stylescombo" plugin which shows the Styles drop-down
|
||||
// list containing all styles in the editor toolbar. Other plugins, like
|
||||
// the "div" plugin, use a subset of the styles for their features.
|
||||
//
|
||||
// If you do not have plugins that depend on this file in your editor build, you can simply
|
||||
// ignore it. Otherwise it is strongly recommended to customize this file to match your
|
||||
// website requirements and design properly.
|
||||
//
|
||||
// For more information refer to: https://ckeditor.com/docs/ckeditor4/latest/guide/dev_styles.html#style-rules
|
||||
|
||||
CKEDITOR.stylesSet.add( 'default', [
|
||||
/* Block styles */
|
||||
|
||||
// These styles are already available in the "Format" drop-down list ("format" plugin),
|
||||
// so they are not needed here by default. You may enable them to avoid
|
||||
// placing the "Format" combo in the toolbar, maintaining the same features.
|
||||
/*
|
||||
{ name: 'Paragraph', element: 'p' },
|
||||
{ name: 'Heading 1', element: 'h1' },
|
||||
{ name: 'Heading 2', element: 'h2' },
|
||||
{ name: 'Heading 3', element: 'h3' },
|
||||
{ name: 'Heading 4', element: 'h4' },
|
||||
{ name: 'Heading 5', element: 'h5' },
|
||||
{ name: 'Heading 6', element: 'h6' },
|
||||
{ name: 'Preformatted Text',element: 'pre' },
|
||||
{ name: 'Address', element: 'address' },
|
||||
*/
|
||||
|
||||
{ name: 'Italic Title', element: 'h2', styles: { 'font-style': 'italic' } },
|
||||
{ name: 'Subtitle', element: 'h3', styles: { 'color': '#aaa', 'font-style': 'italic' } },
|
||||
{
|
||||
name: 'Special Container',
|
||||
element: 'div',
|
||||
styles: {
|
||||
padding: '5px 10px',
|
||||
background: '#eee',
|
||||
border: '1px solid #ccc'
|
||||
}
|
||||
},
|
||||
|
||||
/* Inline styles */
|
||||
|
||||
// These are core styles available as toolbar buttons. You may opt enabling
|
||||
// some of them in the Styles drop-down list, removing them from the toolbar.
|
||||
// (This requires the "stylescombo" plugin.)
|
||||
/*
|
||||
{ name: 'Strong', element: 'strong', overrides: 'b' },
|
||||
{ name: 'Emphasis', element: 'em' , overrides: 'i' },
|
||||
{ name: 'Underline', element: 'u' },
|
||||
{ name: 'Strikethrough', element: 'strike' },
|
||||
{ name: 'Subscript', element: 'sub' },
|
||||
{ name: 'Superscript', element: 'sup' },
|
||||
*/
|
||||
|
||||
{ name: 'Marker', element: 'span', attributes: { 'class': 'marker' } },
|
||||
|
||||
{ name: 'Big', element: 'big' },
|
||||
{ name: 'Small', element: 'small' },
|
||||
{ name: 'Typewriter', element: 'tt' },
|
||||
|
||||
{ name: 'Computer Code', element: 'code' },
|
||||
{ name: 'Keyboard Phrase', element: 'kbd' },
|
||||
{ name: 'Sample Text', element: 'samp' },
|
||||
{ name: 'Variable', element: 'var' },
|
||||
|
||||
{ name: 'Deleted Text', element: 'del' },
|
||||
{ name: 'Inserted Text', element: 'ins' },
|
||||
|
||||
{ name: 'Cited Work', element: 'cite' },
|
||||
{ name: 'Inline Quotation', element: 'q' },
|
||||
|
||||
{ name: 'Language: RTL', element: 'span', attributes: { 'dir': 'rtl' } },
|
||||
{ name: 'Language: LTR', element: 'span', attributes: { 'dir': 'ltr' } },
|
||||
|
||||
/* Object styles */
|
||||
|
||||
{
|
||||
name: 'Styled Image (left)',
|
||||
element: 'img',
|
||||
attributes: { 'class': 'left' }
|
||||
},
|
||||
|
||||
{
|
||||
name: 'Styled Image (right)',
|
||||
element: 'img',
|
||||
attributes: { 'class': 'right' }
|
||||
},
|
||||
|
||||
{
|
||||
name: 'Compact Table',
|
||||
element: 'table',
|
||||
attributes: {
|
||||
cellpadding: '5',
|
||||
cellspacing: '0',
|
||||
border: '1',
|
||||
bordercolor: '#ccc'
|
||||
},
|
||||
styles: {
|
||||
'border-collapse': 'collapse'
|
||||
}
|
||||
},
|
||||
|
||||
{ name: 'Borderless Table', element: 'table', styles: { 'border-style': 'hidden', 'background-color': '#E6E6FA' } },
|
||||
{ name: 'Square Bulleted List', element: 'ul', styles: { 'list-style-type': 'square' } },
|
||||
|
||||
/* Widget styles */
|
||||
|
||||
{ name: 'Clean Image', type: 'widget', widget: 'image', attributes: { 'class': 'image-clean' } },
|
||||
{ name: 'Grayscale Image', type: 'widget', widget: 'image', attributes: { 'class': 'image-grayscale' } },
|
||||
|
||||
{ name: 'Featured Snippet', type: 'widget', widget: 'codeSnippet', attributes: { 'class': 'code-featured' } },
|
||||
|
||||
{ name: 'Featured Formula', type: 'widget', widget: 'mathjax', attributes: { 'class': 'math-featured' } },
|
||||
|
||||
{ name: '240p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-240p' }, group: 'size' },
|
||||
{ name: '360p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-360p' }, group: 'size' },
|
||||
{ name: '480p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-480p' }, group: 'size' },
|
||||
{ name: '720p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-720p' }, group: 'size' },
|
||||
{ name: '1080p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-1080p' }, group: 'size' },
|
||||
|
||||
// Adding space after the style name is an intended workaround. For now, there
|
||||
// is no option to create two styles with the same name for different widget types. See https://dev.ckeditor.com/ticket/16664.
|
||||
{ name: '240p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-240p' }, group: 'size' },
|
||||
{ name: '360p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-360p' }, group: 'size' },
|
||||
{ name: '480p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-480p' }, group: 'size' },
|
||||
{ name: '720p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-720p' }, group: 'size' },
|
||||
{ name: '1080p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-1080p' }, group: 'size' }
|
||||
|
||||
] );
|
||||
|
||||
/**
|
||||
* Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
// This file contains style definitions that can be used by CKEditor plugins.
|
||||
//
|
||||
// The most common use for it is the "stylescombo" plugin which shows the Styles drop-down
|
||||
// list containing all styles in the editor toolbar. Other plugins, like
|
||||
// the "div" plugin, use a subset of the styles for their features.
|
||||
//
|
||||
// If you do not have plugins that depend on this file in your editor build, you can simply
|
||||
// ignore it. Otherwise it is strongly recommended to customize this file to match your
|
||||
// website requirements and design properly.
|
||||
//
|
||||
// For more information refer to: https://ckeditor.com/docs/ckeditor4/latest/guide/dev_styles.html#style-rules
|
||||
|
||||
CKEDITOR.stylesSet.add( 'default', [
|
||||
/* Block styles */
|
||||
|
||||
// These styles are already available in the "Format" drop-down list ("format" plugin),
|
||||
// so they are not needed here by default. You may enable them to avoid
|
||||
// placing the "Format" combo in the toolbar, maintaining the same features.
|
||||
/*
|
||||
{ name: 'Paragraph', element: 'p' },
|
||||
{ name: 'Heading 1', element: 'h1' },
|
||||
{ name: 'Heading 2', element: 'h2' },
|
||||
{ name: 'Heading 3', element: 'h3' },
|
||||
{ name: 'Heading 4', element: 'h4' },
|
||||
{ name: 'Heading 5', element: 'h5' },
|
||||
{ name: 'Heading 6', element: 'h6' },
|
||||
{ name: 'Preformatted Text',element: 'pre' },
|
||||
{ name: 'Address', element: 'address' },
|
||||
*/
|
||||
|
||||
{ name: 'Italic Title', element: 'h2', styles: { 'font-style': 'italic' } },
|
||||
{ name: 'Subtitle', element: 'h3', styles: { 'color': '#aaa', 'font-style': 'italic' } },
|
||||
{
|
||||
name: 'Special Container',
|
||||
element: 'div',
|
||||
styles: {
|
||||
padding: '5px 10px',
|
||||
background: '#eee',
|
||||
border: '1px solid #ccc'
|
||||
}
|
||||
},
|
||||
|
||||
/* Inline styles */
|
||||
|
||||
// These are core styles available as toolbar buttons. You may opt enabling
|
||||
// some of them in the Styles drop-down list, removing them from the toolbar.
|
||||
// (This requires the "stylescombo" plugin.)
|
||||
/*
|
||||
{ name: 'Strong', element: 'strong', overrides: 'b' },
|
||||
{ name: 'Emphasis', element: 'em' , overrides: 'i' },
|
||||
{ name: 'Underline', element: 'u' },
|
||||
{ name: 'Strikethrough', element: 'strike' },
|
||||
{ name: 'Subscript', element: 'sub' },
|
||||
{ name: 'Superscript', element: 'sup' },
|
||||
*/
|
||||
|
||||
{ name: 'Marker', element: 'span', attributes: { 'class': 'marker' } },
|
||||
|
||||
{ name: 'Big', element: 'big' },
|
||||
{ name: 'Small', element: 'small' },
|
||||
{ name: 'Typewriter', element: 'tt' },
|
||||
|
||||
{ name: 'Computer Code', element: 'code' },
|
||||
{ name: 'Keyboard Phrase', element: 'kbd' },
|
||||
{ name: 'Sample Text', element: 'samp' },
|
||||
{ name: 'Variable', element: 'var' },
|
||||
|
||||
{ name: 'Deleted Text', element: 'del' },
|
||||
{ name: 'Inserted Text', element: 'ins' },
|
||||
|
||||
{ name: 'Cited Work', element: 'cite' },
|
||||
{ name: 'Inline Quotation', element: 'q' },
|
||||
|
||||
{ name: 'Language: RTL', element: 'span', attributes: { 'dir': 'rtl' } },
|
||||
{ name: 'Language: LTR', element: 'span', attributes: { 'dir': 'ltr' } },
|
||||
|
||||
/* Object styles */
|
||||
|
||||
{
|
||||
name: 'Styled Image (left)',
|
||||
element: 'img',
|
||||
attributes: { 'class': 'left' }
|
||||
},
|
||||
|
||||
{
|
||||
name: 'Styled Image (right)',
|
||||
element: 'img',
|
||||
attributes: { 'class': 'right' }
|
||||
},
|
||||
|
||||
{
|
||||
name: 'Compact Table',
|
||||
element: 'table',
|
||||
attributes: {
|
||||
cellpadding: '5',
|
||||
cellspacing: '0',
|
||||
border: '1',
|
||||
bordercolor: '#ccc'
|
||||
},
|
||||
styles: {
|
||||
'border-collapse': 'collapse'
|
||||
}
|
||||
},
|
||||
|
||||
{ name: 'Borderless Table', element: 'table', styles: { 'border-style': 'hidden', 'background-color': '#E6E6FA' } },
|
||||
{ name: 'Square Bulleted List', element: 'ul', styles: { 'list-style-type': 'square' } },
|
||||
|
||||
/* Widget styles */
|
||||
|
||||
{ name: 'Clean Image', type: 'widget', widget: 'image', attributes: { 'class': 'image-clean' } },
|
||||
{ name: 'Grayscale Image', type: 'widget', widget: 'image', attributes: { 'class': 'image-grayscale' } },
|
||||
|
||||
{ name: 'Featured Snippet', type: 'widget', widget: 'codeSnippet', attributes: { 'class': 'code-featured' } },
|
||||
|
||||
{ name: 'Featured Formula', type: 'widget', widget: 'mathjax', attributes: { 'class': 'math-featured' } },
|
||||
|
||||
{ name: '240p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-240p' }, group: 'size' },
|
||||
{ name: '360p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-360p' }, group: 'size' },
|
||||
{ name: '480p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-480p' }, group: 'size' },
|
||||
{ name: '720p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-720p' }, group: 'size' },
|
||||
{ name: '1080p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-1080p' }, group: 'size' },
|
||||
|
||||
// Adding space after the style name is an intended workaround. For now, there
|
||||
// is no option to create two styles with the same name for different widget types. See https://dev.ckeditor.com/ticket/16664.
|
||||
{ name: '240p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-240p' }, group: 'size' },
|
||||
{ name: '360p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-360p' }, group: 'size' },
|
||||
{ name: '480p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-480p' }, group: 'size' },
|
||||
{ name: '720p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-720p' }, group: 'size' },
|
||||
{ name: '1080p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-1080p' }, group: 'size' }
|
||||
|
||||
] );
|
||||
|
||||
|
||||
@@ -12,6 +12,10 @@ md-input-container {
|
||||
&.md-no-flex {
|
||||
flex: none !important;
|
||||
}
|
||||
&.md-input-clipboard {
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
.md-errors-spacer {
|
||||
// Temporary fix for https://github.com/angular/material/issues/6214
|
||||
min-height: 0 !important;
|
||||
|
||||
@@ -242,6 +242,27 @@ $quarter_height: 10px;
|
||||
//font-weight: $sg-font-light;
|
||||
}
|
||||
|
||||
// Header of month week
|
||||
.sg-calendar-tile-week {
|
||||
font-size: $sg-font-size-2;
|
||||
min-height: $sg-font-size-2 + 10px;
|
||||
overflow: hidden;
|
||||
padding: 4px;
|
||||
text-align: left;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
//font-weight: $sg-font-light;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
.sg-calendar-tile-week span {
|
||||
padding: 1%;
|
||||
border-radius: 30%;
|
||||
color: $colorGrey50;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// The left column of hours
|
||||
.hours {
|
||||
display: inline-block;
|
||||
|
||||
Reference in New Issue
Block a user