camaleon_cms 2.8.2 → 2.8.3
Sign up to get free protection for your applications and to get access to all the features.
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