camaleon_cms 2.8.2 → 2.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of camaleon_cms might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/camaleon_cms/admin/_actions.js +3 -2
- data/app/assets/javascripts/camaleon_cms/admin/_libraries.js +0 -1
- data/app/assets/javascripts/camaleon_cms/admin/admin-manifest.js +1 -2
- data/app/assets/javascripts/camaleon_cms/admin/introjs/intro.min.js +11 -0
- data/app/assets/javascripts/camaleon_cms/admin/introjs/intro.min.js.map +1 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery.validate.js +5 -5
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/messages_ar.js +52 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/messages_de.js +70 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/{es.js → messages_es.js} +9 -10
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/{fr.js → messages_fr.js} +7 -3
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/messages_it.js +27 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/{nl.js → messages_nl.js} +1 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/{pt-BR.js → messages_pt-BR.js} +24 -19
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/{ru.js → messages_ru.js} +6 -2
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/{zh-CN.js → messages_zh-CN.js} +9 -8
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/methods_de.js +12 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/methods_nl.js +12 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/methods_pt.js +9 -0
- data/app/assets/stylesheets/camaleon_cms/admin/_custom_admin.css.scss +19 -7
- data/app/assets/stylesheets/camaleon_cms/admin/admin-manifest.css +1 -1
- data/app/assets/stylesheets/camaleon_cms/admin/introjs/introjs.min.css +2 -0
- data/app/assets/stylesheets/camaleon_cms/admin/introjs/introjs.min.css.map +1 -0
- data/app/controllers/camaleon_cms/admin/media_controller.rb +2 -1
- data/app/helpers/camaleon_cms/uploader_helper.rb +1 -1
- data/app/uploaders/camaleon_cms_aws_uploader.rb +2 -0
- data/app/uploaders/camaleon_cms_local_uploader.rb +3 -1
- data/app/uploaders/camaleon_cms_uploader.rb +2 -4
- data/app/views/layouts/camaleon_cms/admin.html.erb +7 -1
- data/lib/camaleon_cms/version.rb +1 -1
- metadata +20 -15
- data/app/assets/javascripts/camaleon_cms/admin/_underscore.js +0 -1536
- data/app/assets/javascripts/camaleon_cms/admin/introjs/_intro.min.js +0 -1317
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/de.js +0 -20
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/it.js +0 -23
- data/app/assets/stylesheets/camaleon_cms/admin/introjs/_introjs.min.css +0 -1
- /data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/{uk.js → messages_uk.js} +0 -0
@@ -0,0 +1,52 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: AR (Arabic; العربية)
|
4
|
+
*/
|
5
|
+
$.extend( $.validator.messages, {
|
6
|
+
required: "هذا الحقل إلزامي",
|
7
|
+
remote: "يرجى تصحيح هذا الحقل للمتابعة",
|
8
|
+
email: "رجاء إدخال عنوان بريد إلكتروني صحيح",
|
9
|
+
url: "رجاء إدخال عنوان موقع إلكتروني صحيح",
|
10
|
+
date: "رجاء إدخال تاريخ صحيح",
|
11
|
+
dateISO: "رجاء إدخال تاريخ صحيح (ISO)",
|
12
|
+
number: "رجاء إدخال عدد بطريقة صحيحة",
|
13
|
+
digits: "رجاء إدخال أرقام فقط",
|
14
|
+
creditcard: "رجاء إدخال رقم بطاقة ائتمان صحيح",
|
15
|
+
equalTo: "رجاء إدخال نفس القيمة",
|
16
|
+
extension: "رجاء إدخال ملف بامتداد موافق عليه",
|
17
|
+
maxlength: $.validator.format( "الحد الأقصى لعدد الحروف هو {0}" ),
|
18
|
+
minlength: $.validator.format( "الحد الأدنى لعدد الحروف هو {0}" ),
|
19
|
+
rangelength: $.validator.format( "عدد الحروف يجب أن يكون بين {0} و {1}" ),
|
20
|
+
range: $.validator.format( "رجاء إدخال عدد قيمته بين {0} و {1}" ),
|
21
|
+
max: $.validator.format( "رجاء إدخال عدد أقل من أو يساوي {0}" ),
|
22
|
+
min: $.validator.format( "رجاء إدخال عدد أكبر من أو يساوي {0}" ),
|
23
|
+
step: $.validator.format( "يرجى تقديم قيمة من مضاعفات {0}" ),
|
24
|
+
maxWords: $.validator.format( "يرجى تقديم ما لا يزيد عن {0} كلمات" ),
|
25
|
+
minWords: $.validator.format( "يرجى تقديم {0} كلمات على الأقل" ),
|
26
|
+
rangeWords: $.validator.format( "يرجى تقديم ما بين {0} و{1} كلمة" ),
|
27
|
+
letterswithbasicpunc: "يرجى تقديم الحروف وعلامات الترقيم فقط",
|
28
|
+
alphanumeric: "يرجى تقديم الحروف والأرقام والمسافات والتسطير فقط",
|
29
|
+
lettersonly: "يرجى تقديم الحروف فقط",
|
30
|
+
nowhitespace: "من فضلك لا تدخل المساحات البيضاء",
|
31
|
+
ziprange: "يرجى تقديم الرمز البريدي بين 902xx-xxxx و905-xx-xxxx",
|
32
|
+
integer: "يرجى تقديم رقم غير عشري موجب أو سالب",
|
33
|
+
vinUS: "يرجى تقديم رقم تعريف المركبة (VIN)",
|
34
|
+
dateITA: "يرجى تقديم تاريخ صالح",
|
35
|
+
time: "يرجى تقديم وقت صالح بين 00:00 و23:59",
|
36
|
+
phoneUS: "الرجاء تقديم رقم هاتف صالح",
|
37
|
+
phoneUK: "الرجاء تقديم رقم هاتف صالح",
|
38
|
+
mobileUK: "يرجى تقديم رقم هاتف محمول صالح",
|
39
|
+
strippedminlength: $.validator.format( "يرجى تقديم {0} حرفًا على الأقل" ),
|
40
|
+
email2: "يرجى تقديم عنوان بريد إلكتروني صالح",
|
41
|
+
url2: "يرجى إدخال عنوان بريد إلكتروني صحيح",
|
42
|
+
creditcardtypes: "يرجى تقديم رقم بطاقة ائتمان صالح",
|
43
|
+
currency: "يرجى تقديم عملة صالحة",
|
44
|
+
ipv4: "يرجى تقديم عنوان IP v4 صالح",
|
45
|
+
ipv6: "يرجى تقديم عنوان IP v6 صالح",
|
46
|
+
require_from_group: $.validator.format( "يرجى تقديم ما لا يقل عن {0} من هذه الحقول" ),
|
47
|
+
nifES: "يرجى تقديم رقم TIN صالح",
|
48
|
+
nieES: "يرجى تقديم رقم NIE صالح",
|
49
|
+
cifES: "يرجى تقديم رقم CIF صالح",
|
50
|
+
postalCodeCA: "يرجى تقديم رمز بريدي صالح",
|
51
|
+
pattern: "التنسيق غير صالح"
|
52
|
+
} );
|
@@ -0,0 +1,70 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: DE (German, Deutsch)
|
4
|
+
*/
|
5
|
+
$.extend( $.validator.messages, {
|
6
|
+
required: "Dieses Feld ist ein Pflichtfeld.",
|
7
|
+
maxlength: $.validator.format( "Geben Sie bitte maximal {0} Zeichen ein." ),
|
8
|
+
minlength: $.validator.format( "Geben Sie bitte mindestens {0} Zeichen ein." ),
|
9
|
+
rangelength: $.validator.format( "Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein." ),
|
10
|
+
email: "Geben Sie bitte eine gültige E-Mail-Adresse ein.",
|
11
|
+
url: "Geben Sie bitte eine gültige URL ein.",
|
12
|
+
date: "Geben Sie bitte ein gültiges Datum ein.",
|
13
|
+
number: "Geben Sie bitte eine Nummer ein.",
|
14
|
+
digits: "Geben Sie bitte nur Ziffern ein.",
|
15
|
+
equalTo: "Wiederholen Sie bitte denselben Wert.",
|
16
|
+
range: $.validator.format( "Geben Sie bitte einen Wert zwischen {0} und {1} ein." ),
|
17
|
+
max: $.validator.format( "Geben Sie bitte einen Wert kleiner oder gleich {0} ein." ),
|
18
|
+
min: $.validator.format( "Geben Sie bitte einen Wert größer oder gleich {0} ein." ),
|
19
|
+
creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein.",
|
20
|
+
remote: "Korrigieren Sie bitte dieses Feld.",
|
21
|
+
dateISO: "Geben Sie bitte ein gültiges Datum ein (ISO-Format).",
|
22
|
+
step: $.validator.format( "Geben Sie bitte ein Vielfaches von {0} ein." ),
|
23
|
+
maxWords: $.validator.format( "Geben Sie bitte {0} Wörter oder weniger ein." ),
|
24
|
+
minWords: $.validator.format( "Geben Sie bitte mindestens {0} Wörter ein." ),
|
25
|
+
rangeWords: $.validator.format( "Geben Sie bitte zwischen {0} und {1} Wörtern ein." ),
|
26
|
+
accept: "Geben Sie bitte einen Wert mit einem gültigen MIME-Typ ein.",
|
27
|
+
alphanumeric: "Geben Sie bitte nur Buchstaben (keine Umlaute), Zahlen oder Unterstriche ein.",
|
28
|
+
bankaccountNL: "Geben Sie bitte eine gültige Kontonummer ein.",
|
29
|
+
bankorgiroaccountNL: "Geben Sie bitte eine gültige Bank- oder Girokontonummer ein.",
|
30
|
+
bic: "Geben Sie bitte einen gültigen BIC-Code ein.",
|
31
|
+
cifES: "Geben Sie bitte eine gültige CIF-Nummer ein.",
|
32
|
+
cpfBR: "Geben Sie bitte eine gültige CPF-Nummer ein.",
|
33
|
+
creditcardtypes: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein.",
|
34
|
+
currency: "Geben Sie bitte eine gültige Währung ein.",
|
35
|
+
extension: "Geben Sie bitte einen Wert mit einer gültigen Erweiterung ein.",
|
36
|
+
giroaccountNL: "Geben Sie bitte eine gültige Girokontonummer ein.",
|
37
|
+
iban: "Geben Sie bitte eine gültige IBAN ein.",
|
38
|
+
integer: "Geben Sie bitte eine positive oder negative Nicht-Dezimalzahl ein.",
|
39
|
+
ipv4: "Geben Sie bitte eine gültige IPv4-Adresse ein.",
|
40
|
+
ipv6: "Geben Sie bitte eine gültige IPv6-Adresse ein.",
|
41
|
+
lettersonly: "Geben Sie bitte nur Buchstaben ein.",
|
42
|
+
letterswithbasicpunc: "Geben Sie bitte nur Buchstaben oder Interpunktion ein.",
|
43
|
+
mobileNL: "Geben Sie bitte eine gültige Handynummer ein.",
|
44
|
+
mobileUK: "Geben Sie bitte eine gültige Handynummer ein.",
|
45
|
+
netmask: "Geben Sie bitte eine gültige Netzmaske ein.",
|
46
|
+
nieES: "Geben Sie bitte eine gültige NIE-Nummer ein.",
|
47
|
+
nifES: "Geben Sie bitte eine gültige NIF-Nummer ein.",
|
48
|
+
nipPL: "Geben Sie bitte eine gültige NIP-Nummer ein.",
|
49
|
+
notEqualTo: "Geben Sie bitte einen anderen Wert ein. Die Werte dürfen nicht gleich sein.",
|
50
|
+
nowhitespace: "Kein Leerzeichen bitte.",
|
51
|
+
pattern: "Ungültiges Format.",
|
52
|
+
phoneNL: "Geben Sie bitte eine gültige Telefonnummer ein.",
|
53
|
+
phonesUK: "Geben Sie bitte eine gültige britische Telefonnummer ein.",
|
54
|
+
phoneUK: "Geben Sie bitte eine gültige Telefonnummer ein.",
|
55
|
+
phoneUS: "Geben Sie bitte eine gültige Telefonnummer ein.",
|
56
|
+
postalcodeBR: "Geben Sie bitte eine gültige brasilianische Postleitzahl ein.",
|
57
|
+
postalCodeCA: "Geben Sie bitte eine gültige kanadische Postleitzahl ein.",
|
58
|
+
postalcodeIT: "Geben Sie bitte eine gültige italienische Postleitzahl ein.",
|
59
|
+
postalcodeNL: "Geben Sie bitte eine gültige niederländische Postleitzahl ein.",
|
60
|
+
postcodeUK: "Geben Sie bitte eine gültige britische Postleitzahl ein.",
|
61
|
+
require_from_group: $.validator.format( "Füllen Sie bitte mindestens {0} dieser Felder aus." ),
|
62
|
+
skip_or_fill_minimum: $.validator.format( "Überspringen Sie bitte diese Felder oder füllen Sie mindestens {0} von ihnen aus." ),
|
63
|
+
stateUS: "Geben Sie bitte einen gültigen US-Bundesstaat ein.",
|
64
|
+
strippedminlength: $.validator.format( "Geben Sie bitte mindestens {0} Zeichen ein." ),
|
65
|
+
time: "Geben Sie bitte eine gültige Uhrzeit zwischen 00:00 und 23:59 ein.",
|
66
|
+
time12h: "Geben Sie bitte eine gültige Uhrzeit im 12-Stunden-Format ein.",
|
67
|
+
vinUS: "Die angegebene Fahrzeugidentifikationsnummer (VIN) ist ungültig.",
|
68
|
+
zipcodeUS: "Die angegebene US-Postleitzahl ist ungültig.",
|
69
|
+
ziprange: "Ihre Postleitzahl muss im Bereich 902xx-xxxx bis 905xx-xxxx liegen."
|
70
|
+
} );
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* Translated default messages for the jQuery validation plugin.
|
3
3
|
* Locale: ES (Spanish; Español)
|
4
4
|
*/
|
5
|
-
$.extend($.validator.messages, {
|
5
|
+
$.extend( $.validator.messages, {
|
6
6
|
required: "Este campo es obligatorio.",
|
7
7
|
remote: "Por favor, rellena este campo.",
|
8
8
|
email: "Por favor, escribe una dirección de correo válida.",
|
@@ -14,14 +14,13 @@ $.extend($.validator.messages, {
|
|
14
14
|
creditcard: "Por favor, escribe un número de tarjeta válido.",
|
15
15
|
equalTo: "Por favor, escribe el mismo valor de nuevo.",
|
16
16
|
extension: "Por favor, escribe un valor con una extensión aceptada.",
|
17
|
-
maxlength: $.validator.format("Por favor, no escribas más de {0} caracteres."),
|
18
|
-
minlength: $.validator.format("Por favor, no escribas menos de {0} caracteres."),
|
19
|
-
rangelength: $.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."),
|
20
|
-
range: $.validator.format("Por favor, escribe un valor entre {0} y {1}."),
|
21
|
-
max: $.validator.format("Por favor, escribe un valor menor o igual a {0}."),
|
22
|
-
min: $.validator.format("Por favor, escribe un valor mayor o igual a {0}."),
|
17
|
+
maxlength: $.validator.format( "Por favor, no escribas más de {0} caracteres." ),
|
18
|
+
minlength: $.validator.format( "Por favor, no escribas menos de {0} caracteres." ),
|
19
|
+
rangelength: $.validator.format( "Por favor, escribe un valor entre {0} y {1} caracteres." ),
|
20
|
+
range: $.validator.format( "Por favor, escribe un valor entre {0} y {1}." ),
|
21
|
+
max: $.validator.format( "Por favor, escribe un valor menor o igual a {0}." ),
|
22
|
+
min: $.validator.format( "Por favor, escribe un valor mayor o igual a {0}." ),
|
23
23
|
nifES: "Por favor, escribe un NIF válido.",
|
24
24
|
nieES: "Por favor, escribe un NIE válido.",
|
25
|
-
cifES: "Por favor, escribe un CIF válido."
|
26
|
-
|
27
|
-
});
|
25
|
+
cifES: "Por favor, escribe un CIF válido."
|
26
|
+
} );
|
@@ -13,6 +13,7 @@ $.extend( $.validator.messages, {
|
|
13
13
|
digits: "Veuillez fournir seulement des chiffres.",
|
14
14
|
creditcard: "Veuillez fournir un numéro de carte de crédit valide.",
|
15
15
|
equalTo: "Veuillez fournir encore la même valeur.",
|
16
|
+
notEqualTo: "Veuillez fournir une valeur différente, les valeurs ne doivent pas être identiques.",
|
16
17
|
extension: "Veuillez fournir une valeur avec une extension valide.",
|
17
18
|
maxlength: $.validator.format( "Veuillez fournir au plus {0} caractères." ),
|
18
19
|
minlength: $.validator.format( "Veuillez fournir au moins {0} caractères." ),
|
@@ -20,6 +21,7 @@ $.extend( $.validator.messages, {
|
|
20
21
|
range: $.validator.format( "Veuillez fournir une valeur entre {0} et {1}." ),
|
21
22
|
max: $.validator.format( "Veuillez fournir une valeur inférieure ou égale à {0}." ),
|
22
23
|
min: $.validator.format( "Veuillez fournir une valeur supérieure ou égale à {0}." ),
|
24
|
+
step: $.validator.format( "Veuillez fournir une valeur multiple de {0}." ),
|
23
25
|
maxWords: $.validator.format( "Veuillez fournir au plus {0} mots." ),
|
24
26
|
minWords: $.validator.format( "Veuillez fournir au moins {0} mots." ),
|
25
27
|
rangeWords: $.validator.format( "Veuillez fournir entre {0} et {1} mots." ),
|
@@ -39,11 +41,13 @@ $.extend( $.validator.messages, {
|
|
39
41
|
email2: "Veuillez fournir une adresse électronique valide.",
|
40
42
|
url2: "Veuillez fournir une adresse URL valide.",
|
41
43
|
creditcardtypes: "Veuillez fournir un numéro de carte de crédit valide.",
|
44
|
+
currency: "Veuillez fournir une monnaie valide.",
|
42
45
|
ipv4: "Veuillez fournir une adresse IP v4 valide.",
|
43
46
|
ipv6: "Veuillez fournir une adresse IP v6 valide.",
|
44
|
-
require_from_group: "Veuillez fournir au moins {0} de ces champs.",
|
47
|
+
require_from_group: $.validator.format( "Veuillez fournir au moins {0} de ces champs." ),
|
45
48
|
nifES: "Veuillez fournir un numéro NIF valide.",
|
46
49
|
nieES: "Veuillez fournir un numéro NIE valide.",
|
47
50
|
cifES: "Veuillez fournir un numéro CIF valide.",
|
48
|
-
postalCodeCA: "Veuillez fournir un code postal valide."
|
49
|
-
|
51
|
+
postalCodeCA: "Veuillez fournir un code postal valide.",
|
52
|
+
pattern: "Format non valide."
|
53
|
+
} );
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: IT (Italian; Italiano)
|
4
|
+
*/
|
5
|
+
$.extend( $.validator.messages, {
|
6
|
+
required: "Campo obbligatorio.",
|
7
|
+
remote: "Controlla questo campo.",
|
8
|
+
email: "Inserisci un indirizzo email valido.",
|
9
|
+
url: "Inserisci un indirizzo web valido.",
|
10
|
+
date: "Inserisci una data valida.",
|
11
|
+
dateISO: "Inserisci una data valida (ISO).",
|
12
|
+
number: "Inserisci un numero valido.",
|
13
|
+
digits: "Inserisci solo numeri.",
|
14
|
+
creditcard: "Inserisci un numero di carta di credito valido.",
|
15
|
+
equalTo: "Il valore non corrisponde.",
|
16
|
+
extension: "Inserisci un valore con un'estensione valida.",
|
17
|
+
maxlength: $.validator.format( "Non inserire più di {0} caratteri." ),
|
18
|
+
minlength: $.validator.format( "Inserisci almeno {0} caratteri." ),
|
19
|
+
rangelength: $.validator.format( "Inserisci un valore compreso tra {0} e {1} caratteri." ),
|
20
|
+
range: $.validator.format( "Inserisci un valore compreso tra {0} e {1}." ),
|
21
|
+
max: $.validator.format( "Inserisci un valore minore o uguale a {0}." ),
|
22
|
+
min: $.validator.format( "Inserisci un valore maggiore o uguale a {0}." ),
|
23
|
+
nifES: "Inserisci un NIF valido.",
|
24
|
+
nieES: "Inserisci un NIE valido.",
|
25
|
+
cifES: "Inserisci un CIF valido.",
|
26
|
+
currency: "Inserisci una valuta valida."
|
27
|
+
} );
|
@@ -20,6 +20,7 @@ $.extend( $.validator.messages, {
|
|
20
20
|
range: $.validator.format( "Vul hier een waarde in van minimaal {0} en maximaal {1}." ),
|
21
21
|
max: $.validator.format( "Vul hier een waarde in kleiner dan of gelijk aan {0}." ),
|
22
22
|
min: $.validator.format( "Vul hier een waarde in groter dan of gelijk aan {0}." ),
|
23
|
+
step: $.validator.format( "Vul hier een veelvoud van {0} in." ),
|
23
24
|
|
24
25
|
// For validations in additional-methods.js
|
25
26
|
iban: "Vul hier een geldig IBAN in.",
|
data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/{pt-BR.js → messages_pt-BR.js}
RENAMED
@@ -4,8 +4,9 @@
|
|
4
4
|
* Region: BR (Brazil)
|
5
5
|
*/
|
6
6
|
$.extend( $.validator.messages, {
|
7
|
-
|
8
|
-
|
7
|
+
|
8
|
+
// Core
|
9
|
+
required: "Este campo é obrigatório.",
|
9
10
|
remote: "Por favor, corrija este campo.",
|
10
11
|
email: "Por favor, forneça um endereço de email válido.",
|
11
12
|
url: "Por favor, forneça uma URL válida.",
|
@@ -21,6 +22,7 @@ $.extend( $.validator.messages, {
|
|
21
22
|
range: $.validator.format( "Por favor, forneça um valor entre {0} e {1}." ),
|
22
23
|
max: $.validator.format( "Por favor, forneça um valor menor ou igual a {0}." ),
|
23
24
|
min: $.validator.format( "Por favor, forneça um valor maior ou igual a {0}." ),
|
25
|
+
step: $.validator.format( "Por favor, forneça um valor múltiplo de {0}." ),
|
24
26
|
|
25
27
|
// Metodos Adicionais
|
26
28
|
maxWords: $.validator.format( "Por favor, forneça com {0} palavras ou menos." ),
|
@@ -50,25 +52,28 @@ $.extend( $.validator.messages, {
|
|
50
52
|
nieES: "Por favor, forneça um NIE válido.",
|
51
53
|
nifES: "Por favor, forneça um NIF válido.",
|
52
54
|
nowhitespace: "Por favor, não utilize espaços em branco.",
|
53
|
-
pattern: "O formato
|
54
|
-
phoneNL: "Por favor,
|
55
|
-
phoneUK: "Por favor,
|
56
|
-
phoneUS: "Por favor,
|
57
|
-
phonesUK: "Por favor,
|
58
|
-
postalCodeCA: "Por favor,
|
59
|
-
postalcodeIT: "Por favor,
|
60
|
-
postalcodeNL: "Por favor,
|
61
|
-
postcodeUK: "Por favor,
|
55
|
+
pattern: "O formato fornecido é inválido.",
|
56
|
+
phoneNL: "Por favor, forneça um número de telefone válido.",
|
57
|
+
phoneUK: "Por favor, forneça um número de telefone válido.",
|
58
|
+
phoneUS: "Por favor, forneça um número de telefone válido.",
|
59
|
+
phonesUK: "Por favor, forneça um número de telefone válido.",
|
60
|
+
postalCodeCA: "Por favor, forneça um número de código postal válido.",
|
61
|
+
postalcodeIT: "Por favor, forneça um número de código postal válido.",
|
62
|
+
postalcodeNL: "Por favor, forneça um número de código postal válido.",
|
63
|
+
postcodeUK: "Por favor, forneça um número de código postal válido.",
|
62
64
|
postalcodeBR: "Por favor, forneça um CEP válido.",
|
63
65
|
require_from_group: $.validator.format( "Por favor, forneça pelo menos {0} destes campos." ),
|
64
66
|
skip_or_fill_minimum: $.validator.format( "Por favor, optar entre ignorar esses campos ou preencher pelo menos {0} deles." ),
|
65
67
|
stateUS: "Por favor, forneça um estado válido.",
|
66
68
|
strippedminlength: $.validator.format( "Por favor, forneça pelo menos {0} caracteres." ),
|
67
|
-
time: "Por favor, forneça um horário válido, no intervado de 00:00
|
68
|
-
time12h: "Por favor, forneça um horário válido, no intervado de 01:00
|
69
|
-
url2: "Por favor,
|
70
|
-
vinUS: "O número de identificação de veículo
|
71
|
-
zipcodeUS: "Por favor,
|
72
|
-
ziprange: "O código postal deve estar entre 902xx-xxxx e 905xx-xxxx",
|
73
|
-
cpfBR: "Por favor, forneça um CPF válido."
|
74
|
-
|
69
|
+
time: "Por favor, forneça um horário válido, no intervado de 00:00 a 23:59.",
|
70
|
+
time12h: "Por favor, forneça um horário válido, no intervado de 01:00 a 12:59 am/pm.",
|
71
|
+
url2: "Por favor, forneça uma URL válida.",
|
72
|
+
vinUS: "O número de identificação de veículo informado (VIN) é inválido.",
|
73
|
+
zipcodeUS: "Por favor, forneça um código postal americano válido.",
|
74
|
+
ziprange: "O código postal deve estar entre 902xx-xxxx e 905xx-xxxx.",
|
75
|
+
cpfBR: "Por favor, forneça um CPF válido.",
|
76
|
+
nisBR: "Por favor, forneça um NIS/PIS válido.",
|
77
|
+
cnhBR: "Por favor, forneça um CNH válido.",
|
78
|
+
cnpjBR: "Por favor, forneça um CNPJ válido."
|
79
|
+
} );
|
@@ -1,3 +1,7 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: RU (Russian; русский язык)
|
4
|
+
*/
|
1
5
|
$.extend( $.validator.messages, {
|
2
6
|
required: "Это поле необходимо заполнить.",
|
3
7
|
remote: "Пожалуйста, введите правильное значение.",
|
@@ -14,6 +18,6 @@ $.extend( $.validator.messages, {
|
|
14
18
|
minlength: $.validator.format( "Пожалуйста, введите не меньше {0} символов." ),
|
15
19
|
rangelength: $.validator.format( "Пожалуйста, введите значение длиной от {0} до {1} символов." ),
|
16
20
|
range: $.validator.format( "Пожалуйста, введите число от {0} до {1}." ),
|
17
|
-
max: $.validator.format( "Пожалуйста, введите число, меньшее или равное
|
21
|
+
max: $.validator.format( "Пожалуйста, введите число, меньшее или равное {0}." ),
|
18
22
|
min: $.validator.format( "Пожалуйста, введите число, большее или равное {0}." )
|
19
|
-
} );
|
23
|
+
} );
|
data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/{zh-CN.js → messages_zh-CN.js}
RENAMED
@@ -2,7 +2,7 @@
|
|
2
2
|
* Translated default messages for the jQuery validation plugin.
|
3
3
|
* Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語)
|
4
4
|
*/
|
5
|
-
$.extend($.validator.messages, {
|
5
|
+
$.extend( $.validator.messages, {
|
6
6
|
required: "这是必填字段",
|
7
7
|
remote: "请修正此字段",
|
8
8
|
email: "请输入有效的电子邮件地址",
|
@@ -14,10 +14,11 @@ $.extend($.validator.messages, {
|
|
14
14
|
creditcard: "请输入有效的信用卡号码",
|
15
15
|
equalTo: "你的输入不相同",
|
16
16
|
extension: "请输入有效的后缀",
|
17
|
-
maxlength: $.validator.format("最多可以输入 {0} 个字符"),
|
18
|
-
minlength: $.validator.format("最少要输入 {0} 个字符"),
|
19
|
-
rangelength: $.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"),
|
20
|
-
range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"),
|
21
|
-
|
22
|
-
|
23
|
-
})
|
17
|
+
maxlength: $.validator.format( "最多可以输入 {0} 个字符" ),
|
18
|
+
minlength: $.validator.format( "最少要输入 {0} 个字符" ),
|
19
|
+
rangelength: $.validator.format( "请输入长度在 {0} 到 {1} 之间的字符串" ),
|
20
|
+
range: $.validator.format( "请输入范围在 {0} 到 {1} 之间的数值" ),
|
21
|
+
step: $.validator.format( "请输入 {0} 的整数倍值" ),
|
22
|
+
max: $.validator.format( "请输入不大于 {0} 的数值" ),
|
23
|
+
min: $.validator.format( "请输入不小于 {0} 的数值" )
|
24
|
+
} );
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/*
|
2
|
+
* Localized default methods for the jQuery validation plugin.
|
3
|
+
* Locale: DE
|
4
|
+
*/
|
5
|
+
$.extend( $.validator.methods, {
|
6
|
+
date: function( value, element ) {
|
7
|
+
return this.optional( element ) || /^\d\d?\.\d\d?\.\d\d\d?\d?$/.test( value );
|
8
|
+
},
|
9
|
+
number: function( value, element ) {
|
10
|
+
return this.optional( element ) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test( value );
|
11
|
+
}
|
12
|
+
} );
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/*
|
2
|
+
* Localized default methods for the jQuery validation plugin.
|
3
|
+
* Locale: NL
|
4
|
+
*/
|
5
|
+
$.extend( $.validator.methods, {
|
6
|
+
date: function( value, element ) {
|
7
|
+
return this.optional( element ) || /^\d\d?[\.\/\-]\d\d?[\.\/\-]\d\d\d?\d?$/.test( value );
|
8
|
+
},
|
9
|
+
number: function( value, element ) {
|
10
|
+
return this.optional( element ) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test( value );
|
11
|
+
}
|
12
|
+
} );
|
@@ -214,6 +214,18 @@
|
|
214
214
|
}
|
215
215
|
}
|
216
216
|
|
217
|
+
.introjs-prevbutton, {
|
218
|
+
color: #fff !important;
|
219
|
+
background-color: #5cb85c !important;
|
220
|
+
border-color: #4cae4c !important
|
221
|
+
}
|
222
|
+
|
223
|
+
.introjs-nextbutton {
|
224
|
+
color: #fff !important;
|
225
|
+
background-color: #337ab7 !important;
|
226
|
+
border-color: #2e6da4 !important
|
227
|
+
}
|
228
|
+
|
217
229
|
//************** fix tinymce fullscreen
|
218
230
|
div.mce-fullscreen{
|
219
231
|
z-index: 10;
|
@@ -296,8 +308,8 @@ label.error, span.error{
|
|
296
308
|
|
297
309
|
// themes: index page
|
298
310
|
.theme-card {
|
299
|
-
border: 1px
|
300
|
-
solid #ddd;
|
311
|
+
border: 1px
|
312
|
+
solid #ddd;
|
301
313
|
border-radius: 0;
|
302
314
|
position: relative;
|
303
315
|
|
@@ -305,7 +317,7 @@ label.error, span.error{
|
|
305
317
|
padding: 0;
|
306
318
|
|
307
319
|
.theme-image {
|
308
|
-
width: 100%;
|
320
|
+
width: 100%;
|
309
321
|
height: 260px;
|
310
322
|
background-size: cover;
|
311
323
|
}
|
@@ -334,14 +346,14 @@ label.error, span.error{
|
|
334
346
|
}
|
335
347
|
|
336
348
|
.panel-footer {
|
337
|
-
background-color: #fafafa;
|
338
|
-
border: 0;
|
339
|
-
border-radius: 0;
|
349
|
+
background-color: #fafafa;
|
350
|
+
border: 0;
|
351
|
+
border-radius: 0;
|
340
352
|
box-shadow: inset 0 1px 0 rgba(0,0,0,.1);
|
341
353
|
display: flex;
|
342
354
|
justify-content: space-between;
|
343
355
|
align-items: center;
|
344
|
-
|
356
|
+
|
345
357
|
|
346
358
|
.theme-name {
|
347
359
|
font-size: 1.6rem;
|
@@ -0,0 +1,2 @@
|
|
1
|
+
.introjs-overlay{position:absolute;box-sizing:content-box;z-index:999999;opacity:0;transition:all .3s ease-out}.introjs-showElement{z-index:9999999!important}tr.introjs-showElement>td{z-index:9999999!important;position:relative}tr.introjs-showElement>th{z-index:9999999!important;position:relative}.introjs-disableInteraction{z-index:99999999!important;position:absolute;background-color:#fff;opacity:0}.introjs-relativePosition{position:relative}.introjs-helperLayer{box-sizing:content-box;position:absolute;z-index:9999998;border-radius:4px;transition:all .3s ease-out}.introjs-helperLayer *{box-sizing:content-box}.introjs-helperLayer :before{box-sizing:content-box}.introjs-helperLayer :after{box-sizing:content-box}.introjs-tooltipReferenceLayer{font-family:"Helvetica Neue",Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif;box-sizing:content-box;position:absolute;visibility:hidden;z-index:100000000;background-color:transparent;transition:all .3s ease-out}.introjs-tooltipReferenceLayer *{font-family:"Helvetica Neue",Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.introjs-helperNumberLayer{font-family:"Helvetica Neue",Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif;color:#9e9e9e;text-align:center;padding-top:10px;padding-bottom:10px}.introjs-arrow{border:5px solid transparent;content:"";position:absolute}.introjs-arrow.top{top:-10px;left:10px;border-bottom-color:#fff}.introjs-arrow.top-right{top:-10px;right:10px;border-bottom-color:#fff}.introjs-arrow.top-middle{top:-10px;left:50%;margin-left:-5px;border-bottom-color:#fff}.introjs-arrow.right{right:-10px;top:10px;border-left-color:#fff}.introjs-arrow.right-bottom{bottom:10px;right:-10px;border-left-color:#fff}.introjs-arrow.bottom{bottom:-10px;left:10px;border-top-color:#fff}.introjs-arrow.bottom-right{bottom:-10px;right:10px;border-top-color:#fff}.introjs-arrow.bottom-middle{bottom:-10px;left:50%;margin-left:-5px;border-top-color:#fff}.introjs-arrow.left{left:-10px;top:10px;border-right-color:#fff}.introjs-arrow.left-bottom{left:-10px;bottom:10px;border-right-color:#fff}.introjs-tooltip{box-sizing:content-box;position:absolute;visibility:visible;background-color:#fff;min-width:250px;max-width:300px;border-radius:5px;box-shadow:0 3px 30px rgba(33,33,33,.3);transition:opacity .1s ease-out}.introjs-tooltiptext{padding:20px}.introjs-dontShowAgain{padding-left:20px;padding-right:20px}.introjs-dontShowAgain input{padding:0;margin:0;margin-bottom:2px;display:inline;width:10px;height:10px}.introjs-dontShowAgain label{font-size:14px;display:inline-block;font-weight:400;margin:0 0 0 5px;padding:0;background-color:#fff;color:#616161;-webkit-user-select:none;user-select:none}.introjs-tooltip-title{font-size:18px;width:90%;min-height:1.5em;margin:0;padding:0;font-weight:700;line-height:1.5}.introjs-tooltip-header{position:relative;padding-left:20px;padding-right:20px;padding-top:10px;min-height:1.5em}.introjs-tooltipbuttons{border-top:1px solid #e0e0e0;padding:10px;text-align:right;white-space:nowrap}.introjs-tooltipbuttons:after{content:"";visibility:hidden;display:block;height:0;clear:both}.introjs-button{box-sizing:content-box;position:relative;overflow:visible;padding:.5rem 1rem;border:1px solid #bdbdbd;text-decoration:none;text-shadow:1px 1px 0 #fff;font-size:14px;color:#424242;white-space:nowrap;cursor:pointer;outline:0;background-color:#f4f4f4;border-radius:.2em;zoom:1;display:inline}.introjs-button:hover{outline:0;text-decoration:none;border-color:#9e9e9e;background-color:#e0e0e0;color:#212121}.introjs-button:focus{outline:0;text-decoration:none;background-color:#eee;box-shadow:0 0 0 .2rem rgba(158,158,158,.5);border:1px solid #616161;color:#212121}.introjs-button:active{outline:0;text-decoration:none;background-color:#e0e0e0;border-color:#9e9e9e;color:#212121}.introjs-button::-moz-focus-inner{padding:0;border:0}.introjs-skipbutton{position:absolute;top:0;right:0;display:inline-block;width:45px;height:45px;line-height:45px;color:#616161;font-size:22px;cursor:pointer;font-weight:700;text-align:center;text-decoration:none}.introjs-skipbutton:focus,.introjs-skipbutton:hover{color:#212121;outline:0;text-decoration:none}.introjs-prevbutton{float:left}.introjs-nextbutton{float:right}.introjs-disabled{color:#9e9e9e;border-color:#bdbdbd;box-shadow:none;cursor:default;background-color:#f4f4f4;background-image:none;text-decoration:none}.introjs-disabled:focus,.introjs-disabled:hover{color:#9e9e9e;border-color:#bdbdbd;box-shadow:none;cursor:default;background-color:#f4f4f4;background-image:none;text-decoration:none}.introjs-hidden{display:none}.introjs-bullets{text-align:center;padding-top:10px;padding-bottom:10px}.introjs-bullets ul{box-sizing:content-box;clear:both;margin:0 auto 0;padding:0;display:inline-block}.introjs-bullets ul li{box-sizing:content-box;list-style:none;float:left;margin:0 2px}.introjs-bullets ul li a{transition:width .1s ease-in;box-sizing:content-box;display:block;width:6px;height:6px;background:#ccc;border-radius:10px;text-decoration:none;cursor:pointer}.introjs-bullets ul li a:focus,.introjs-bullets ul li a:hover{width:15px;background:#999;text-decoration:none;outline:0}.introjs-bullets ul li a.active{width:15px;background:#999}.introjs-progress{box-sizing:content-box;overflow:hidden;height:10px;margin:10px;border-radius:4px;background-color:#e0e0e0}.introjs-progressbar{box-sizing:content-box;float:left;width:0%;height:100%;font-size:10px;line-height:10px;text-align:center;background-color:#08c}.introjsFloatingElement{position:absolute;height:0;width:0;left:50%;top:50%}.introjs-fixedTooltip{position:fixed}.introjs-hint{box-sizing:content-box;position:absolute;background:0 0;width:20px;height:15px;cursor:pointer}.introjs-hint:focus{border:0;outline:0}.introjs-hint:hover>.introjs-hint-pulse{background-color:rgba(60,60,60,.57)}.introjs-hidehint{display:none}.introjs-fixedhint{position:fixed}@keyframes introjspulse{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(0,0,0,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px transparent}100%{transform:scale(.95);box-shadow:0 0 0 0 transparent}}.introjs-hint-pulse{box-sizing:content-box;width:15px;height:15px;border-radius:30px;background-color:rgba(136,136,136,.24);z-index:10;position:absolute;transition:all .2s ease-out;animation:introjspulse 2s infinite}.introjs-hint-no-anim .introjs-hint-pulse{animation:none}.introjs-hint-dot{box-sizing:content-box;background:0 0;border-radius:60px;height:50px;width:50px;position:absolute;top:-18px;left:-18px;z-index:1;opacity:0}
|
2
|
+
/*# sourceMappingURL=introjs.min.css.map */
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["%3Cinput%20css%202%3E"],"names":[],"mappings":"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","file":"introjs.min.css","sourcesContent":[".introjs-overlay{position:absolute;box-sizing:content-box;z-index:999999;opacity:0;transition:all .3s ease-out}.introjs-showElement{z-index:9999999!important}tr.introjs-showElement>td{z-index:9999999!important;position:relative}tr.introjs-showElement>th{z-index:9999999!important;position:relative}.introjs-disableInteraction{z-index:99999999!important;position:absolute;background-color:#fff;opacity:0}.introjs-relativePosition{position:relative}.introjs-helperLayer{box-sizing:content-box;position:absolute;z-index:9999998;border-radius:4px;transition:all .3s ease-out}.introjs-helperLayer *{box-sizing:content-box}.introjs-helperLayer :before{box-sizing:content-box}.introjs-helperLayer :after{box-sizing:content-box}.introjs-tooltipReferenceLayer{font-family:\"Helvetica Neue\",Inter,ui-sans-serif,\"Apple Color Emoji\",Helvetica,Arial,sans-serif;box-sizing:content-box;position:absolute;visibility:hidden;z-index:100000000;background-color:transparent;transition:all .3s ease-out}.introjs-tooltipReferenceLayer *{font-family:\"Helvetica Neue\",Inter,ui-sans-serif,\"Apple Color Emoji\",Helvetica,Arial,sans-serif}.introjs-helperNumberLayer{font-family:\"Helvetica Neue\",Inter,ui-sans-serif,\"Apple Color Emoji\",Helvetica,Arial,sans-serif;color:#9e9e9e;text-align:center;padding-top:10px;padding-bottom:10px}.introjs-arrow{border:5px solid transparent;content:\"\";position:absolute}.introjs-arrow.top{top:-10px;left:10px;border-bottom-color:#fff}.introjs-arrow.top-right{top:-10px;right:10px;border-bottom-color:#fff}.introjs-arrow.top-middle{top:-10px;left:50%;margin-left:-5px;border-bottom-color:#fff}.introjs-arrow.right{right:-10px;top:10px;border-left-color:#fff}.introjs-arrow.right-bottom{bottom:10px;right:-10px;border-left-color:#fff}.introjs-arrow.bottom{bottom:-10px;left:10px;border-top-color:#fff}.introjs-arrow.bottom-right{bottom:-10px;right:10px;border-top-color:#fff}.introjs-arrow.bottom-middle{bottom:-10px;left:50%;margin-left:-5px;border-top-color:#fff}.introjs-arrow.left{left:-10px;top:10px;border-right-color:#fff}.introjs-arrow.left-bottom{left:-10px;bottom:10px;border-right-color:#fff}.introjs-tooltip{box-sizing:content-box;position:absolute;visibility:visible;background-color:#fff;min-width:250px;max-width:300px;border-radius:5px;box-shadow:0 3px 30px rgba(33,33,33,.3);transition:opacity .1s ease-out}.introjs-tooltiptext{padding:20px}.introjs-dontShowAgain{padding-left:20px;padding-right:20px}.introjs-dontShowAgain input{padding:0;margin:0;margin-bottom:2px;display:inline;width:10px;height:10px}.introjs-dontShowAgain label{font-size:14px;display:inline-block;font-weight:400;margin:0 0 0 5px;padding:0;background-color:#fff;color:#616161;-webkit-user-select:none;user-select:none}.introjs-tooltip-title{font-size:18px;width:90%;min-height:1.5em;margin:0;padding:0;font-weight:700;line-height:1.5}.introjs-tooltip-header{position:relative;padding-left:20px;padding-right:20px;padding-top:10px;min-height:1.5em}.introjs-tooltipbuttons{border-top:1px solid #e0e0e0;padding:10px;text-align:right;white-space:nowrap}.introjs-tooltipbuttons:after{content:\"\";visibility:hidden;display:block;height:0;clear:both}.introjs-button{box-sizing:content-box;position:relative;overflow:visible;padding:.5rem 1rem;border:1px solid #bdbdbd;text-decoration:none;text-shadow:1px 1px 0 #fff;font-size:14px;color:#424242;white-space:nowrap;cursor:pointer;outline:0;background-color:#f4f4f4;border-radius:.2em;zoom:1;display:inline}.introjs-button:hover{outline:0;text-decoration:none;border-color:#9e9e9e;background-color:#e0e0e0;color:#212121}.introjs-button:focus{outline:0;text-decoration:none;background-color:#eee;box-shadow:0 0 0 .2rem rgba(158,158,158,.5);border:1px solid #616161;color:#212121}.introjs-button:active{outline:0;text-decoration:none;background-color:#e0e0e0;border-color:#9e9e9e;color:#212121}.introjs-button::-moz-focus-inner{padding:0;border:0}.introjs-skipbutton{position:absolute;top:0;right:0;display:inline-block;width:45px;height:45px;line-height:45px;color:#616161;font-size:22px;cursor:pointer;font-weight:700;text-align:center;text-decoration:none}.introjs-skipbutton:focus,.introjs-skipbutton:hover{color:#212121;outline:0;text-decoration:none}.introjs-prevbutton{float:left}.introjs-nextbutton{float:right}.introjs-disabled{color:#9e9e9e;border-color:#bdbdbd;box-shadow:none;cursor:default;background-color:#f4f4f4;background-image:none;text-decoration:none}.introjs-disabled:focus,.introjs-disabled:hover{color:#9e9e9e;border-color:#bdbdbd;box-shadow:none;cursor:default;background-color:#f4f4f4;background-image:none;text-decoration:none}.introjs-hidden{display:none}.introjs-bullets{text-align:center;padding-top:10px;padding-bottom:10px}.introjs-bullets ul{box-sizing:content-box;clear:both;margin:0 auto 0;padding:0;display:inline-block}.introjs-bullets ul li{box-sizing:content-box;list-style:none;float:left;margin:0 2px}.introjs-bullets ul li a{transition:width .1s ease-in;box-sizing:content-box;display:block;width:6px;height:6px;background:#ccc;border-radius:10px;text-decoration:none;cursor:pointer}.introjs-bullets ul li a:focus,.introjs-bullets ul li a:hover{width:15px;background:#999;text-decoration:none;outline:0}.introjs-bullets ul li a.active{width:15px;background:#999}.introjs-progress{box-sizing:content-box;overflow:hidden;height:10px;margin:10px;border-radius:4px;background-color:#e0e0e0}.introjs-progressbar{box-sizing:content-box;float:left;width:0%;height:100%;font-size:10px;line-height:10px;text-align:center;background-color:#08c}.introjsFloatingElement{position:absolute;height:0;width:0;left:50%;top:50%}.introjs-fixedTooltip{position:fixed}.introjs-hint{box-sizing:content-box;position:absolute;background:0 0;width:20px;height:15px;cursor:pointer}.introjs-hint:focus{border:0;outline:0}.introjs-hint:hover>.introjs-hint-pulse{background-color:rgba(60,60,60,.57)}.introjs-hidehint{display:none}.introjs-fixedhint{position:fixed}@keyframes introjspulse{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(0,0,0,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px transparent}100%{transform:scale(.95);box-shadow:0 0 0 0 transparent}}.introjs-hint-pulse{box-sizing:content-box;width:15px;height:15px;border-radius:30px;background-color:rgba(136,136,136,.24);z-index:10;position:absolute;transition:all .2s ease-out;animation:introjspulse 2s infinite}.introjs-hint-no-anim .introjs-hint-pulse{animation:none}.introjs-hint-dot{box-sizing:content-box;background:0 0;border-radius:60px;height:50px;width:50px;position:absolute;top:-18px;left:-18px;z-index:1;opacity:0}"]}
|
@@ -57,7 +57,8 @@ module CamaleonCms
|
|
57
57
|
case params[:media_action]
|
58
58
|
when 'new_folder'
|
59
59
|
params[:folder] = slugify_folder(params[:folder])
|
60
|
-
|
60
|
+
r = cama_uploader.add_folder(params[:folder])
|
61
|
+
return render partial: 'render_file_item', locals: { files: [r] } if r[:error].blank?
|
61
62
|
when 'del_folder'
|
62
63
|
r = cama_uploader.delete_folder(params[:folder])
|
63
64
|
when 'del_file'
|
@@ -76,7 +76,7 @@ module CamaleonCms
|
|
76
76
|
res = { error: nil }
|
77
77
|
|
78
78
|
# guard against path traversal
|
79
|
-
return { error: 'Invalid file path' } unless cama_uploader.
|
79
|
+
return { error: 'Invalid file path' } unless cama_uploader.valid_folder_path?(settings[:folder])
|
80
80
|
|
81
81
|
# formats validations
|
82
82
|
return { error: "#{ct('file_format_error')} (#{settings[:formats]})" } unless cama_uploader.class.validate_file_format(
|
@@ -105,6 +105,8 @@ class CamaleonCmsAwsUploader < CamaleonCmsUploader
|
|
105
105
|
|
106
106
|
# add new folder to AWS with :key
|
107
107
|
def add_folder(key)
|
108
|
+
return { error: 'Invalid folder path' } unless valid_folder_path?(key)
|
109
|
+
|
108
110
|
key = "#{@aws_settings['inner_folder']}/#{key}" if @aws_settings['inner_folder'].present?
|
109
111
|
key = key.cama_fix_media_key
|
110
112
|
s3_file = bucket.object(key.slice(1..-1) << '/')
|
@@ -25,7 +25,7 @@ class CamaleonCmsLocalUploader < CamaleonCmsUploader
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def fetch_file(file_name)
|
28
|
-
return { error: 'Invalid file path' }
|
28
|
+
return { error: 'Invalid file path' } unless valid_folder_path?(file_name)
|
29
29
|
|
30
30
|
return file_name if file_exists?(file_name)
|
31
31
|
|
@@ -96,6 +96,8 @@ class CamaleonCmsLocalUploader < CamaleonCmsUploader
|
|
96
96
|
|
97
97
|
# create a new folder into local directory
|
98
98
|
def add_folder(key)
|
99
|
+
return { error: 'Invalid folder path' } unless valid_folder_path?(key)
|
100
|
+
|
99
101
|
d = File.join(@root_folder, key).to_s
|
100
102
|
is_new_folder = false
|
101
103
|
unless Dir.exist?(d)
|
@@ -125,10 +125,8 @@ class CamaleonCmsUploader
|
|
125
125
|
valid_formats.include?(File.extname(key).sub('.', '').split('?').first.try(:downcase))
|
126
126
|
end
|
127
127
|
|
128
|
-
def
|
129
|
-
return
|
130
|
-
|
131
|
-
return false if path.include?('..') || File.absolute_path?(path) || path.include?('://')
|
128
|
+
def valid_folder_path?(path)
|
129
|
+
return false if path.include?('..') || path.include?('://')
|
132
130
|
|
133
131
|
true
|
134
132
|
end
|
@@ -18,7 +18,13 @@
|
|
18
18
|
</script>
|
19
19
|
<%= javascript_include_tag "camaleon_cms/admin/admin-manifest" %>
|
20
20
|
|
21
|
-
<%= javascript_include_tag "camaleon_cms/admin/jquery_validate
|
21
|
+
<%= javascript_include_tag "camaleon_cms/admin/jquery_validate/messages_#{current_locale}.js" if current_locale != 'en' %>
|
22
|
+
|
23
|
+
<% jquery_validate_localized_methods = "camaleon_cms/admin/jquery_validate/methods_#{current_locale}.js"%>
|
24
|
+
<% jquery_validate_localized_methods_exist =
|
25
|
+
File.file?(Rails.root.join('app', 'assets', 'javascripts', jquery_validate_localized_methods))%>
|
26
|
+
<%= javascript_include_tag jquery_validate_localized_methods if jquery_validate_localized_methods_exist %>
|
27
|
+
|
22
28
|
<%= javascript_include_tag "camaleon_cms/admin/momentjs/#{current_locale}.js" if current_locale != 'en' %>
|
23
29
|
|
24
30
|
<%= raw the_head({}, false) %>
|
data/lib/camaleon_cms/version.rb
CHANGED