camaleon_cms 2.1.1 → 2.1.1.4
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/README.md +35 -1
- data/app/apps/plugins/attack/config/locales/translation.yml +20 -1
- data/app/apps/plugins/contact_form/config/locales/translation.yml +106 -1
- data/app/apps/plugins/contact_form/contact_form_helper.rb +44 -27
- data/app/apps/plugins/front_cache/config/locales/translation.yml +21 -1
- data/app/apps/plugins/front_cache/front_cache_helper.rb +1 -1
- data/app/apps/plugins/visibility_post/assets/js/form.js +1 -3
- data/app/apps/plugins/visibility_post/visibility_post_helper.rb +2 -4
- data/app/assets/images/camaleon_cms/language/de.png +0 -0
- data/app/assets/images/camaleon_cms/language/en.png +0 -0
- data/app/assets/images/camaleon_cms/language/es.png +0 -0
- data/app/assets/images/camaleon_cms/language/fr.png +0 -0
- data/app/assets/images/camaleon_cms/language/it.png +0 -0
- data/app/assets/images/camaleon_cms/language/nl.png +0 -0
- data/app/assets/images/camaleon_cms/language/pl.png +0 -0
- data/app/assets/images/camaleon_cms/language/pt.png +0 -0
- data/app/assets/images/camaleon_cms/language/pt_br.png +0 -0
- data/app/assets/images/camaleon_cms/language/ru.png +0 -0
- data/app/assets/images/camaleon_cms/language/zh.png +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/_custom_fields.js +3 -11
- data/app/assets/javascripts/camaleon_cms/admin/_data.js +2 -6
- data/app/assets/javascripts/camaleon_cms/admin/_libraries.js +11 -229
- data/app/assets/javascripts/camaleon_cms/admin/_modal.js +11 -37
- data/app/assets/javascripts/camaleon_cms/admin/_post.js +27 -22
- data/app/assets/javascripts/camaleon_cms/admin/_translator.js +2 -1
- data/app/assets/javascripts/camaleon_cms/admin/admin-manifest.js +6 -2
- data/app/assets/javascripts/camaleon_cms/admin/bootstrap-datepicker.js +2557 -1689
- data/app/assets/javascripts/camaleon_cms/admin/jquery.validate.js +119 -1361
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/nl.js +33 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/_moment.js +3606 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/ar.js +136 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/ca.js +79 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/de.js +76 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/es.js +79 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/fr.js +62 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/it.js +70 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/ja.js +65 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/nl.js +71 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/pl.js +105 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/pt.js +64 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/pt_br.js +60 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/ru.js +166 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/zh.js +127 -0
- data/app/assets/javascripts/camaleon_cms/admin/nav-menu.js +15 -25
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/nl.js +219 -0
- data/app/assets/javascripts/camaleon_cms/admin/uploader/_media_manager.js.coffee +82 -19
- data/app/assets/javascripts/camaleon_cms/admin/user_profile.js +8 -8
- data/app/assets/stylesheets/camaleon_cms/admin/_custom_admin.css.scss +19 -2
- data/app/assets/stylesheets/camaleon_cms/admin/admin-manifest.css +0 -4
- data/app/assets/stylesheets/camaleon_cms/admin/bootstrap-datepicker.css.scss +315 -414
- data/app/assets/stylesheets/camaleon_cms/admin/uploader/_uploadfile.css.scss +7 -3
- data/app/controllers/camaleon_cms/admin/appearances/nav_menus_controller.rb +9 -5
- data/app/controllers/camaleon_cms/admin/categories_controller.rb +5 -0
- data/app/controllers/camaleon_cms/admin/media_controller.rb +27 -10
- data/app/controllers/camaleon_cms/admin/posts_controller.rb +9 -19
- data/app/controllers/camaleon_cms/admin/sessions_controller.rb +3 -10
- data/app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb +0 -1
- data/app/controllers/camaleon_cms/admin/settings/sites_controller.rb +6 -1
- data/app/controllers/camaleon_cms/admin/users_controller.rb +1 -8
- data/app/controllers/camaleon_cms/admin_controller.rb +5 -4
- data/app/controllers/camaleon_cms/apps/plugins_front_controller.rb +0 -8
- data/app/controllers/camaleon_cms/camaleon_controller.rb +6 -1
- data/app/controllers/camaleon_cms/frontend_controller.rb +11 -8
- data/app/decorators/camaleon_cms/category_decorator.rb +2 -1
- data/app/decorators/camaleon_cms/post_decorator.rb +28 -1
- data/app/decorators/camaleon_cms/post_tag_decorator.rb +1 -0
- data/app/decorators/camaleon_cms/post_type_decorator.rb +17 -0
- data/app/decorators/camaleon_cms/site_decorator.rb +22 -7
- data/app/decorators/camaleon_cms/user_decorator.rb +1 -0
- data/app/helpers/camaleon_cms/admin/application_helper.rb +3 -2
- data/app/helpers/camaleon_cms/admin/custom_fields_helper.rb +13 -25
- data/app/helpers/camaleon_cms/admin/post_type_helper.rb +27 -2
- data/app/helpers/camaleon_cms/camaleon_helper.rb +0 -16
- data/app/helpers/camaleon_cms/captcha_helper.rb +9 -3
- data/app/helpers/camaleon_cms/email_helper.rb +27 -8
- data/app/helpers/camaleon_cms/frontend/nav_menu_helper.rb +21 -17
- data/app/helpers/camaleon_cms/frontend/seo_helper.rb +5 -3
- data/app/helpers/camaleon_cms/html_helper.rb +2 -2
- data/app/helpers/camaleon_cms/site_helper.rb +10 -14
- data/app/helpers/camaleon_cms/uploader_helper.rb +119 -31
- data/app/mailers/camaleon_cms/html_mailer.rb +26 -20
- data/app/models/camaleon_cms/custom_field.rb +1 -0
- data/app/models/camaleon_cms/custom_field_group.rb +2 -1
- data/app/models/camaleon_cms/nav_menu.rb +6 -7
- data/app/models/camaleon_cms/nav_menu_item.rb +2 -1
- data/app/models/camaleon_cms/post.rb +29 -2
- data/app/models/camaleon_cms/post_type.rb +20 -1
- data/app/models/camaleon_cms/site.rb +19 -19
- data/app/models/camaleon_cms/term_taxonomy.rb +1 -1
- data/app/models/concerns/camaleon_cms/custom_fields_read.rb +6 -4
- data/app/models/concerns/camaleon_cms/metas.rb +5 -4
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_custom_fields.html.erb +4 -2
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_external_menu.html.erb +1 -1
- data/app/views/camaleon_cms/admin/appearances/nav_menus/index.html.erb +3 -6
- data/app/views/camaleon_cms/admin/categories/index.html.erb +1 -0
- data/app/views/camaleon_cms/admin/media/_files_list.html.erb +3 -3
- data/app/views/camaleon_cms/admin/media/_render_file_item.html.erb +3 -2
- data/app/views/camaleon_cms/admin/media/index.html.erb +31 -4
- data/app/views/camaleon_cms/admin/posts/_sidebar.html.erb +10 -1
- data/app/views/camaleon_cms/admin/posts/form.html.erb +6 -2
- data/app/views/camaleon_cms/admin/posts/index.html.erb +4 -4
- data/app/views/camaleon_cms/admin/search.html.erb +5 -3
- data/app/views/camaleon_cms/admin/settings/_file_system_settings.html.erb +5 -5
- data/app/views/camaleon_cms/admin/settings/custom_fields/_get_items.html.erb +2 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/_render.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_date.html.erb +3 -4
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_image.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/form.html.erb +2 -2
- data/app/views/camaleon_cms/admin/settings/post_types/_form.html.erb +11 -1
- data/app/views/camaleon_cms/admin/settings/post_types/index.html.erb +1 -0
- data/app/views/camaleon_cms/admin/users/form.html.erb +30 -55
- data/app/views/camaleon_cms/html_mailer/mailer.html.erb +1 -1
- data/app/views/camaleon_cms/html_mailer/password_reset.html.erb +3 -0
- data/app/views/layouts/camaleon_cms/admin.html.erb +4 -1
- data/app/views/layouts/camaleon_cms/admin/_ajax.html.erb +3 -1
- data/app/views/layouts/camaleon_cms/admin/_footer.html.erb +1 -1
- data/app/views/layouts/camaleon_cms/admin/_header.html.erb +1 -1
- data/config/initializers/assets.rb +4 -2
- data/config/initializers/model_alias.rb +11 -0
- data/config/locales/camaleon_cms/admin/en.yml +2 -0
- data/config/locales/camaleon_cms/admin/es.yml +2 -1
- data/config/locales/camaleon_cms/admin/it.yml +1 -0
- data/config/locales/camaleon_cms/admin/js.yml +42 -1
- data/config/locales/camaleon_cms/admin/nl.yml +659 -0
- data/config/locales/camaleon_cms/admin/pt_br.yml +1 -0
- data/config/locales/camaleon_cms/admin/ru.yml +659 -0
- data/config/locales/camaleon_cms/common.yml +127 -0
- data/config/locales/camaleon_cms/languages.yml +16 -0
- data/config/locales/camaleon_cms/routes.yml +8 -0
- data/config/locales/nl.yml +209 -0
- data/config/routes.rb +1 -1
- data/config/routes/admin.rb +5 -4
- data/config/routes/frontend.rb +16 -3
- data/config/system.json +2 -3
- data/lib/camaleon_cms/engine.rb +5 -1
- data/lib/camaleon_cms/version.rb +1 -1
- data/lib/ext/array.rb +5 -0
- data/lib/generators/camaleon_cms/gem_plugin_generator.rb +1 -1
- data/lib/generators/camaleon_cms/gem_plugin_template/app/models/plugins/my_plugin/my_plugin.rb +1 -2
- data/lib/generators/camaleon_cms/gem_plugin_template/config/{custom_models.rb → initializers/custom_models.rb} +0 -0
- data/lib/plugin_routes.rb +38 -63
- data/lib/tasks/camaleon_cms/camaleon_tasks.rake +18 -0
- data/lib/tasks/camaleon_cms/rspec_test.rake +7 -4
- metadata +43 -54
- data/app/assets/javascripts/camaleon_cms/admin/bootstrap-datetimepicker.min.js +0 -26
- data/app/assets/javascripts/camaleon_cms/admin/plugins.js +0 -637
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-cool.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-cry.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-embarassed.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-frown.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-innocent.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-kiss.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-laughing.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-sealed.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-smile.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-surprised.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-undecided.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-wink.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/emoticons/img/smiley-yell.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/visualblocks/css/visualblocks.css +0 -135
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/content.min.css.scss +0 -4
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce-small.svg +0 -62
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce.svg +0 -83
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/img/anchor.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/img/loader.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/img/object.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/skins/lightgray/img/trans.gif +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/themes/modern/theme.min.js +0 -1
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/tinymce.min.js +0 -11
- data/app/assets/stylesheets/camaleon_cms/admin/bootstrap-datetimepicker.css.scss +0 -339
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55105ca687257360b00b9e763f06c950b613f6e9
|
4
|
+
data.tar.gz: 49bacd61084356f6485f9efe1dccea81e658adca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3763309423e6121c7f35c031d56a435ec2a65ca0d1f3a280140f93e95192a802d2c83c4ac1cd8fe1d6dcbfbcfa646336149a0ac51f3a4c61dc103b3d9f0e2036
|
7
|
+
data.tar.gz: 253888712e1939233bc2763f0e0f6b8678140efec1fc737a3d2e16499d10342d4b3af4db3bc33cad6f1dbaef926686d5f7368e635a634ae29f1d880cda175174
|
data/README.md
CHANGED
@@ -162,4 +162,38 @@ Visit the web site for more information: http://camaleon.tuzitio.com/
|
|
162
162
|
- Added support of multiples permalinks, I.E. you can define the permalink structure for each of content type
|
163
163
|
- Added PT-br language
|
164
164
|
|
165
|
-
See more here: http://camaleon.tuzitio.com/version-history.html
|
165
|
+
See more here: http://camaleon.tuzitio.com/version-history.html
|
166
|
+
|
167
|
+
## For Testing with Rspec (In progress creating new test and rebuilding current tests)
|
168
|
+
- Add this gem into your Gemfile
|
169
|
+
|
170
|
+
```
|
171
|
+
gem 'rspec-rails'
|
172
|
+
gem 'capybara'
|
173
|
+
```
|
174
|
+
- In your console
|
175
|
+
|
176
|
+
```
|
177
|
+
rails generate rspec:install
|
178
|
+
```
|
179
|
+
- Add this to spec/rails_helper.rb (Insert before line of "RSpec.configure do |config|")
|
180
|
+
|
181
|
+
```
|
182
|
+
Dir[File.join($camaleon_engine_dir, 'spec/support/**/*.rb')].each { |f| require f }
|
183
|
+
```
|
184
|
+
- Execute single test file
|
185
|
+
|
186
|
+
```
|
187
|
+
rake camaleon_cms:rspec[spec/routing/post_type_routes_spec.rb]
|
188
|
+
```
|
189
|
+
- Execute many files within directory (read more rspec gem)
|
190
|
+
|
191
|
+
```
|
192
|
+
rake camaleon_cms:rspec[spec/decorators]
|
193
|
+
```
|
194
|
+
|
195
|
+
- Execute all test of camaleon cms (In progress fixing wrong test files)
|
196
|
+
|
197
|
+
```
|
198
|
+
rake camaleon_cms:rspec
|
199
|
+
```
|
@@ -33,4 +33,23 @@ es:
|
|
33
33
|
request_limit_exceeded: 'Solicitud Límite excedido!'
|
34
34
|
messages:
|
35
35
|
settings_saved: 'Ajustes guardados!'
|
36
|
-
settings: 'Ajustes'
|
36
|
+
settings: 'Ajustes'
|
37
|
+
|
38
|
+
|
39
|
+
nl:
|
40
|
+
plugin:
|
41
|
+
attack:
|
42
|
+
title: 'Aanval'
|
43
|
+
attack_security: 'Beveiliging tegen aanvallen'
|
44
|
+
form:
|
45
|
+
in: 'in'
|
46
|
+
seconds: 'seconden'
|
47
|
+
minutes: 'minuten'
|
48
|
+
type_max_requests_time: 'Max. %{type} Aanvragen'
|
49
|
+
type_time_requests_seconds: '%{type} tijd verzoek [seconds]'
|
50
|
+
ban_time_minutes: 'Tijdduur ban'
|
51
|
+
ban_messages: 'Melding bij ban'
|
52
|
+
request_limit_exceeded: 'Verzoek limiet overschreden!'
|
53
|
+
messages:
|
54
|
+
settings_saved: 'instellingen opgeslagen!'
|
55
|
+
settings: 'instellingen'
|
@@ -207,4 +207,109 @@ es:
|
|
207
207
|
form_details: 'Detalle Formulario'
|
208
208
|
to: 'Para'
|
209
209
|
untitled: 'Sin Título'
|
210
|
-
upload_file: 'Subir Archivo'
|
210
|
+
upload_file: 'Subir Archivo'
|
211
|
+
nl:
|
212
|
+
recaptcha:
|
213
|
+
errors:
|
214
|
+
incorrect-captcha-sol: 'Oh! Er heeft zich een fout voorgedaan met reCAPTCHA!'
|
215
|
+
plugin:
|
216
|
+
contact_form:
|
217
|
+
actions: 'Acties'
|
218
|
+
add_form: 'Formulier aanmaken'
|
219
|
+
add_field: 'Veld toevoegen'
|
220
|
+
add_new_field: 'Veld toevoegen'
|
221
|
+
add_option: 'Optie toevoegen'
|
222
|
+
body: 'Body'
|
223
|
+
body_value: 'Deze mail is verstuurd door het contactformulier.'
|
224
|
+
button:
|
225
|
+
back: 'Terug'
|
226
|
+
submit: 'Verstuur'
|
227
|
+
captcha: 'Captcha'
|
228
|
+
created_at: 'Aangemaakt op'
|
229
|
+
custom_class: 'Aangepaste CSS class'
|
230
|
+
copy_shortcode_post: 'kopieer shortcode naar post:'
|
231
|
+
count: 'Tel'
|
232
|
+
contact_form: 'Contactformulieren'
|
233
|
+
default: 'Standaard'
|
234
|
+
description: 'Omschrijving'
|
235
|
+
delete: 'Verwijder'
|
236
|
+
duplicate_field: 'Dubbel Veld'
|
237
|
+
edit: 'Bewerk'
|
238
|
+
edit_field: 'Veld bewerken'
|
239
|
+
error_captcha: 'Oh! Er heeft zich een fout voorgedaan met CAPTCHA!'
|
240
|
+
form_settings_email: 'Formulier e-mail instellingen'
|
241
|
+
form_settings_messages: 'Formulier berichtgeving instellingen'
|
242
|
+
include_lank: 'Lege toevoegen'
|
243
|
+
include_other: 'Andere toevoegen'
|
244
|
+
message:
|
245
|
+
save: 'Het contactformulier is gemaakt.'
|
246
|
+
delete: 'Het contactformulier is verwijderd.'
|
247
|
+
msg_data_found_list: 'Geen Contactformulieren gevonden.'
|
248
|
+
msg_delete: 'Weet je het zeker?'
|
249
|
+
lbl_message_has_been_success: 'Uw bericht is verzonden.'
|
250
|
+
msg_message_has_been_sent_success_tank_you: 'Uw bericht is verzonden. Veel dank.'
|
251
|
+
lbl_failed_sending_message: 'Het is niet gelkukt om het bericht te versturen '
|
252
|
+
msg_failed_sending_message_please_contact_admin: 'Bericht is niet verstuurd. Probeer het later opnieuw of neem contact met de beheerder op een andere manier.'
|
253
|
+
lbl_there_was_validation_error: 'There was a validation error.'
|
254
|
+
msg_there_was_validation_error_please_confirm_submit_form: 'Er was een validatie fout. Kunt u bevestigen dat de velden goed zijn ingevuld? en verzend het formulier opnieuw.'
|
255
|
+
lbl_shipment_considered_spam: 'Zending wordt beschouwd als spam.'
|
256
|
+
msg_falied_sending_message_please_contact_admin: 'Bericht versturen mislukt. Probeer het later opnieuw of neem contact met de beheerder op een andere manier.'
|
257
|
+
lbl_you_must_accept_all_terms: 'U dient alle voorwaarden te accepteren.'
|
258
|
+
msg_please_accept_terms_conditions_contiue: 'Accepteer de voorwaarden om door te gaan.'
|
259
|
+
lbl_you_must_complete_all_fields: 'U moet alle velden invullen.'
|
260
|
+
msg_please_fill_the_required_field: 'Vul alsjeblieft het verplichte veld in'
|
261
|
+
lbl_there_field_user_input_longer_maximum_allowed_length: 'Er is een veld dat de gebruikersinvoer is langer dan de maximaal toegestane lengte.'
|
262
|
+
mgs_this_input_too_long: 'De invoer is te lang.'
|
263
|
+
lbl_there_field_user_input_shorter_minimum_allowed_length: 'Er is een veld dat de gebruikersinvoer korter is dan de minimaal toegestane lengte.'
|
264
|
+
mgs_this_input_too_short: 'De invoer is te kort.'
|
265
|
+
lbl_the_code_entered_did_not_match_the_captcha: 'De code matcht niet met de CAPTCHA.'
|
266
|
+
msg_the_entered_code_incorrect: 'De ingevoerde code is onjuist.'
|
267
|
+
lbl_the_entered_number_format_invalid: 'Het ingevoerde nummer formaat is ongeldig.'
|
268
|
+
msg_the_numeric_format_seems_invalid: 'De numerieke indeling lijkt ongeldig.'
|
269
|
+
lbl_the_number_entered_less_allowable_limit: 'Het ingevoerde nummer is minder dan de toegestane limiet.'
|
270
|
+
msg_number_too_samll: 'Nummer te klein.'
|
271
|
+
lbl_the_number_entered_greater_than_allowable_limit: 'Het ingevoerde nummer is groter dan de toegestane limiet.'
|
272
|
+
msg_number_too_large: 'Nummer te groot'
|
273
|
+
lbl_the_email_is_invalid: 'Het ingevoerde e-mailadres is ongeldig.'
|
274
|
+
msg_the_email_address_appears_invalid: 'Het e-mailadres is ongeldig.'
|
275
|
+
lbl_url_invalid: 'De ingevoerde URL is ongeldig.'
|
276
|
+
msg_url_appearse_invalid: 'De URL is ongeldig.'
|
277
|
+
lbl_phone_invalid: 'Het telefoonnummer is ongeldig.'
|
278
|
+
msg_phone_appearse_invalid: 'Het telefoonnummer is ongeldig.'
|
279
|
+
lbl_have_not_correct_answer: 'U heeft het juiste antwoord op het raadsel niet ingevoerd.'
|
280
|
+
msg_answer_not_correct: 'Het antwoord is niet correct.'
|
281
|
+
lbl_date_format_invalid: 'De opgegeven datumnotatie is ongeldig.'
|
282
|
+
msg_date_appears_invalid: 'De datumnotatie is ongeldig.'
|
283
|
+
lbl_date_is_earlier_allowable_limit: 'De ingevoerde datum is eerder dan de toegestane limiet.'
|
284
|
+
msg_date_early: 'Datom is te vroeg.'
|
285
|
+
lbl_date_later_than_allowable_limit: 'De ingevoerde datum is late dan de toegestane limiet.'
|
286
|
+
msg_date_too_late: 'Datum is te laat.'
|
287
|
+
lbl_file_upload_failed_some_reason: 'De bestandsupload is mislukt om een onbekende reden.'
|
288
|
+
msg_failed_upload_file: 'Bestandsupload mislukt'
|
289
|
+
lbl_upload_file_not_valid_format: 'Het geüploade bestand is niet in een geldig formaat.'
|
290
|
+
msg_invalid_file_format: 'Onjuist bestandsformaat'
|
291
|
+
lbl_uploaded_file_too_large: 'Het geuploade bestand is te groot'
|
292
|
+
msg_file_too_large: 'Bestand is te groot.'
|
293
|
+
lbl_file_upload_failed_rails_error: 'De besandsupload is mistlukt door een Rails fout.'
|
294
|
+
msg_failed_upload_file_was_error: 'FDe besandsupload is mistlukt er wast een fout.'
|
295
|
+
msg_add_longer_description_field: 'Voeg een langere beschrijving voor dit veld.'
|
296
|
+
label: 'Label'
|
297
|
+
label_required: 'Verplicht label'
|
298
|
+
placeholder_required: 'Verplichte placeholder'
|
299
|
+
list: 'Overzicht'
|
300
|
+
list_responses: 'Overzicht reacties'
|
301
|
+
name: 'Naam'
|
302
|
+
name_button: 'Knop naam'
|
303
|
+
options: 'Opties'
|
304
|
+
remove_field: 'Verwijder veld'
|
305
|
+
remove_option: 'Verwijder optie'
|
306
|
+
required: 'Verplicht'
|
307
|
+
slug: 'Slug'
|
308
|
+
shortcode: 'Shortcode'
|
309
|
+
subject: 'Onderwerp'
|
310
|
+
title_plugin: 'Contactformulier'
|
311
|
+
title_panel:
|
312
|
+
form_details: 'Formulier Details'
|
313
|
+
to: 'Naar'
|
314
|
+
untitled: 'Naamloos'
|
315
|
+
upload_file: 'Bestand uploaden'
|
@@ -104,34 +104,14 @@ module Plugins::ContactForm::ContactFormHelper
|
|
104
104
|
form_new = current_site.contact_forms.new(name: "response-#{Time.now}", description: form.description, settings: fix_meta_value(new_settings), site_id: form.site_id, parent_id: form.id)
|
105
105
|
|
106
106
|
if form_new.save
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
fields
|
115
|
-
)
|
116
|
-
}
|
117
|
-
rescue ActionView::MissingTemplate
|
118
|
-
content = render_to_string partial: 'contact_form/views/contact_form/submission',
|
119
|
-
layout: false,
|
120
|
-
locals: {
|
121
|
-
file_attachments: attachments,
|
122
|
-
fields: convert_form_values(
|
123
|
-
values[:fields],
|
124
|
-
fields
|
125
|
-
)
|
126
|
-
}
|
107
|
+
content = get_content_from_submission_partial(attachments, values, fields)
|
108
|
+
content = get_content_from_views_submission_partial(attachments, values, fields) unless content.nil?
|
109
|
+
if content.nil?
|
110
|
+
extra_data = {fields: convert_form_values(values[:fields], fields)}
|
111
|
+
cama_send_email(settings[:railscf_mail][:to], settings[:railscf_mail][:subject], {attachments: attachments, content: content, template_name: 'contact_form_email', layout_name: 'camaleon_cms/mailer', extra_data: extra_data})
|
112
|
+
else
|
113
|
+
cama_send_email(settings[:railscf_mail][:to], settings[:railscf_mail][:subject], {attachments: attachments, content: content})
|
127
114
|
end
|
128
|
-
|
129
|
-
sendmail(
|
130
|
-
settings[:railscf_mail][:to], settings[:railscf_mail][:subject],
|
131
|
-
content,
|
132
|
-
settings[:railscf_mail][:to],
|
133
|
-
attachments
|
134
|
-
)
|
135
115
|
success << settings[:railscf_message][:mail_sent_ok]
|
136
116
|
else
|
137
117
|
errors << settings[:railscf_message][:mail_sent_ng]
|
@@ -175,4 +155,41 @@ module Plugins::ContactForm::ContactFormHelper
|
|
175
155
|
end
|
176
156
|
value
|
177
157
|
end
|
158
|
+
|
159
|
+
private
|
160
|
+
|
161
|
+
def get_content_from_submission_partial(attachments, values, fields)
|
162
|
+
begin
|
163
|
+
content = render_to_string partial: 'contact_form/submission',
|
164
|
+
layout: false,
|
165
|
+
locals: {
|
166
|
+
file_attachments: attachments,
|
167
|
+
fields: convert_form_values(
|
168
|
+
values[:fields],
|
169
|
+
fields
|
170
|
+
)
|
171
|
+
}
|
172
|
+
rescue ActionView::MissingTemplate
|
173
|
+
content = nil
|
174
|
+
end
|
175
|
+
content
|
176
|
+
end
|
177
|
+
|
178
|
+
def get_content_from_views_submission_partial(attachments, values, fields)
|
179
|
+
begin
|
180
|
+
content = render_to_string partial: 'contact_form/views/contact_form/submission',
|
181
|
+
layout: false,
|
182
|
+
locals: {
|
183
|
+
file_attachments: attachments,
|
184
|
+
fields: convert_form_values(
|
185
|
+
values[:fields],
|
186
|
+
fields
|
187
|
+
)
|
188
|
+
}
|
189
|
+
rescue ActionView::MissingTemplate
|
190
|
+
content = nil
|
191
|
+
end
|
192
|
+
content
|
193
|
+
end
|
194
|
+
|
178
195
|
end
|
@@ -34,4 +34,24 @@ es:
|
|
34
34
|
enabled_cache_inner_content_logged_users: 'Habilitar caché de contenido interno para usuarios registrados'
|
35
35
|
settings_saved: 'Ajustes guardados!'
|
36
36
|
cache_destroyed: 'Caché destruida!'
|
37
|
-
settings: 'Ajustes'
|
37
|
+
settings: 'Ajustes'
|
38
|
+
|
39
|
+
|
40
|
+
nl:
|
41
|
+
plugin:
|
42
|
+
front_cache:
|
43
|
+
button:
|
44
|
+
add_new_path: 'URL toevoegen'
|
45
|
+
custom_url_paths: "Aangepaste URL's"
|
46
|
+
clean_cache: 'Cache opschonen'
|
47
|
+
title: "Frontend cache"
|
48
|
+
home_page: 'Home Page'
|
49
|
+
pages: "Pagina's"
|
50
|
+
pages_of: "Inhoud van"
|
51
|
+
skip_cache_pages: 'Cache overslaan'
|
52
|
+
message:
|
53
|
+
please_checkpost_need_cache: "Kijk alle berichten of inhoud type's na die je wil cachen."
|
54
|
+
enabled_cache_inner_content_logged_users: 'Activeer cache voor gelogde gebruikers'
|
55
|
+
settings_saved: 'instellingen opgeslagen!'
|
56
|
+
cache_destroyed: 'Cache opgeschoond!'
|
57
|
+
settings: 'instellingen'
|
@@ -15,7 +15,7 @@ module Plugins::FrontCache::FrontCacheHelper
|
|
15
15
|
current_site.set_option("refresh_cache", false)
|
16
16
|
end
|
17
17
|
|
18
|
-
return if signin? || Rails.env == "development" || Rails.env == "test" # avoid cache if current visitor is logged in or development environment
|
18
|
+
return if signin? || Rails.env == "development" || Rails.env == "test" || !request.get? # avoid cache if current visitor is logged in or development environment
|
19
19
|
# return if signin? # avoid cache if current visitor is logged in or development environment
|
20
20
|
|
21
21
|
cache_key = front_cache_get_key
|
@@ -85,14 +85,12 @@ module Plugins::VisibilityPost::VisibilityPostHelper
|
|
85
85
|
end
|
86
86
|
|
87
87
|
def form_html(post)
|
88
|
-
add_asset_library('datetimepicker')
|
89
88
|
append_asset_libraries({"plugin_visibility"=> { js: [plugin_asset_path("js/form.js")] }})
|
90
|
-
|
91
89
|
"
|
92
90
|
<div class='form-group'>
|
93
91
|
<label class='control-label'>#{t('camaleon_cms.admin.post_type.published_date')}</label>
|
94
|
-
<div id='published_from' data-locale='#{current_locale}' class='input-
|
95
|
-
<input type='text' name='post[published_at]' data-format='yyyy-MM-dd hh:mm:ss'
|
92
|
+
<div id='published_from' data-locale='#{current_locale}' class='input-group date'>
|
93
|
+
<input type='text' name='post[published_at]' data-format='yyyy-MM-dd hh:mm:ss' class='form-control ' value='#{@post[:published_at]}' />
|
96
94
|
<span class='add-on input-group-addon'><span class='glyphicon glyphicon-calendar'></span></span>
|
97
95
|
</div>
|
98
96
|
</div><!-- calendar for published at -->
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -74,18 +74,9 @@ function custom_field_date($field) {
|
|
74
74
|
if ($field) {
|
75
75
|
var box = $field.find(".date-input-box");
|
76
76
|
if (box.hasClass('is_datetimepicker')) {
|
77
|
-
box.datetimepicker({
|
78
|
-
language: 'es',
|
79
|
-
pick12HourFormat: true,
|
80
|
-
format: 'yyyy-MM-dd hh:mm'
|
81
|
-
});
|
77
|
+
box.datetimepicker({ format: 'YYYY-MM-DD HH:mm' });
|
82
78
|
} else {
|
83
|
-
box.datepicker(
|
84
|
-
language: 'es',
|
85
|
-
format: 'yyyy-mm-dd',
|
86
|
-
autoclose: true,
|
87
|
-
todayBtn: "linked"
|
88
|
-
});
|
79
|
+
box.datepicker();
|
89
80
|
}
|
90
81
|
}
|
91
82
|
}
|
@@ -162,6 +153,7 @@ function load_upload_image_field(dom) {
|
|
162
153
|
var $input = $(dom).parents('li:first').find('input');
|
163
154
|
$.fn.upload_filemanager({
|
164
155
|
formats: "image",
|
156
|
+
dimension: $input.attr("data-dimension"),
|
165
157
|
selected: function (file, response) {
|
166
158
|
$input.val(file.url);
|
167
159
|
}
|
@@ -3,12 +3,7 @@ function cama_get_tinymce_settings(settings){
|
|
3
3
|
if(!settings) settings = {};
|
4
4
|
var def = {
|
5
5
|
selector: ".tinymce_textarea",
|
6
|
-
plugins:
|
7
|
-
"advlist autolink lists link image charmap print preview hr anchor pagebreak",
|
8
|
-
"searchreplace wordcount visualblocks visualchars code fullscreen",
|
9
|
-
"insertdatetime media nonbreaking save table contextmenu directionality",
|
10
|
-
"emoticons template paste textcolor colorpicker textpattern filemanager"
|
11
|
-
],
|
6
|
+
plugins: "advlist autolink lists link image charmap print preview hr anchor pagebreak searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking save table contextmenu directionality emoticons template paste textcolor colorpicker textpattern filemanager",
|
12
7
|
menubar: "edit insert view format table tools",
|
13
8
|
image_advtab: true,
|
14
9
|
statusbar: true,
|
@@ -19,6 +14,7 @@ function cama_get_tinymce_settings(settings){
|
|
19
14
|
//forced_root_block: '',
|
20
15
|
extended_valid_elements: 'i[*],div[*],p[*],li[*],a[*],ol[*],ul[*],span[*]',
|
21
16
|
toolbar: "bold italic | alignleft aligncenter alignright alignjustify | fontselect fontsizeselect | bullist numlist | outdent indent | undo redo | link unlink image media | forecolor backcolor | styleselect template "+tinymce_global_settings["custom_toolbar"].join(","),
|
17
|
+
image_caption: true,
|
22
18
|
language: CURRENT_LOCALE,
|
23
19
|
relative_urls: false,
|
24
20
|
remove_script_host: false,
|
@@ -58,53 +58,17 @@ var init_form_validations = function (form) {
|
|
58
58
|
});
|
59
59
|
};
|
60
60
|
|
61
|
-
|
62
|
-
!(function ($) {
|
63
|
-
// serialize form into json
|
64
|
-
jQuery.fn.serializeObject = function () {
|
65
|
-
var json = {};
|
66
|
-
jQuery.map(jQuery(this).serializeArray(), function (n, i) {
|
67
|
-
var __i = n.name.indexOf('[');
|
68
|
-
if (__i > -1) {
|
69
|
-
var o = json;
|
70
|
-
_name = n.name.replace(/\]/gi, '').split('[');
|
71
|
-
for (var i = 0, len = _name.length; i < len; i++) {
|
72
|
-
if (i == len - 1) {
|
73
|
-
if (o[_name[i]] && $.trim(_name[i]) == '') {
|
74
|
-
if (typeof o[_name[i]] == 'string') {
|
75
|
-
o[_name[i]] = [o[_name[i]]];
|
76
|
-
}
|
77
|
-
o[_name[i]].push(n.value);
|
78
|
-
}
|
79
|
-
else o[_name[i]] = n.value || '';
|
80
|
-
}
|
81
|
-
else o = o[_name[i]] = o[_name[i]] || {};
|
82
|
-
}
|
83
|
-
}
|
84
|
-
else {
|
85
|
-
if (json[n.name] !== undefined) {
|
86
|
-
if (!json[n.name].push) {
|
87
|
-
json[n.name] = [json[n.name]];
|
88
|
-
}
|
89
|
-
json[n.name].push(n.value || '');
|
90
|
-
}
|
91
|
-
else json[n.name] = n.value || '';
|
92
|
-
}
|
93
|
-
});
|
94
|
-
return json;
|
95
|
-
};
|
96
|
-
})(jQuery);
|
97
|
-
|
98
|
-
|
99
61
|
// file uploader
|
100
62
|
(function ($) {
|
63
|
+
// sample: <input name="icon" class="upload_input" type="hidden" data-dimension="23x22" value="current_image_url"/>
|
64
|
+
// $(".upload_input").input_upload({label: '', title: 'Select Images', type: 'image', dimension: '30x30'});
|
101
65
|
$.fn.input_upload = function (options_init) {
|
102
66
|
var default_options = {label: I18n("msg.upload_image"), type: "image", ext: "none", icon: "upload", full_url: true, height: '100px'};
|
103
67
|
default_options = $.extend({}, default_options, options_init || {});
|
104
68
|
$(this).each(function () {
|
105
69
|
var $that = $(this);
|
106
70
|
var options = $.extend({}, default_options, $that.data() || {});
|
107
|
-
var $content_image = $("<div class='content-upload-plugin'><a style='' href='#' target='_blank'><img src=''><br><span class='rm-file btn btn-xs btn-danger'><i class='fa fa-trash'></i></span
|
71
|
+
var $content_image = $("<div class='content-upload-plugin'><a style='' href='#' target='_blank'><img src=''><br><span class='rm-file btn btn-xs btn-danger'><i class='fa fa-trash'></i></span></a></div>").hide();
|
108
72
|
if (options.type != 'image') $content_image.find('img').remove();
|
109
73
|
var $btn_upload = $('<a class="btn btn-default" href="#"><i class="fa fa-upload"></i> ' + options.label + '</a>')
|
110
74
|
$content_image.find('img').css('max-height', options.height);
|
@@ -115,7 +79,9 @@ var init_form_validations = function (form) {
|
|
115
79
|
formats: options.type,
|
116
80
|
selected: function (file, response) {
|
117
81
|
$that.val(file.url).trigger("change");
|
118
|
-
}
|
82
|
+
},
|
83
|
+
dimension: $that.attr('data-dimension') || options["dimension"],
|
84
|
+
title: $that.attr('title') || options["title"],
|
119
85
|
});
|
120
86
|
return false;
|
121
87
|
});
|
@@ -126,7 +92,7 @@ var init_form_validations = function (form) {
|
|
126
92
|
if(url){
|
127
93
|
$content_image.find('img').attr('src', url);
|
128
94
|
$content_image.find('a').attr('href', url);
|
129
|
-
|
95
|
+
//$content_image.find('strong').html(_.last(url.split('/')));
|
130
96
|
$content_image.show();
|
131
97
|
}else{
|
132
98
|
$content_image.hide();
|
@@ -159,192 +125,8 @@ var init_form_validations = function (form) {
|
|
159
125
|
}
|
160
126
|
})(jQuery);
|
161
127
|
|
162
|
-
//
|
163
|
-
(function ($) {
|
164
|
-
|
165
|
-
// file formats
|
166
|
-
$.file_formats = {
|
167
|
-
jpg: "image",
|
168
|
-
gif: "image",
|
169
|
-
png: "image",
|
170
|
-
bmp: "image",
|
171
|
-
jpeg: "image",
|
172
|
-
|
173
|
-
mp3: "audio",
|
174
|
-
ogg: "audio",
|
175
|
-
mid: "audio",
|
176
|
-
mod: "audio",
|
177
|
-
wav: "audio",
|
128
|
+
// serialize form into json
|
129
|
+
!(function ($) { jQuery.fn.serializeObject = function () { var json = {}; jQuery.map(jQuery(this).serializeArray(), function (n, i) { var __i = n.name.indexOf('['); if (__i > -1) { var o = json; _name = n.name.replace(/\]/gi, '').split('['); for (var i = 0, len = _name.length; i < len; i++) { if (i == len - 1) { if (o[_name[i]] && $.trim(_name[i]) == '') { if (typeof o[_name[i]] == 'string') { o[_name[i]] = [o[_name[i]]]; } o[_name[i]].push(n.value); } else o[_name[i]] = n.value || ''; } else o = o[_name[i]] = o[_name[i]] || {}; } } else { if (json[n.name] !== undefined) { if (!json[n.name].push) { json[n.name] = [json[n.name]]; } json[n.name].push(n.value || ''); } else json[n.name] = n.value || ''; } }); return json; }; })(jQuery);
|
178
130
|
|
179
|
-
|
180
|
-
|
181
|
-
avi: "video",
|
182
|
-
swf: "video",
|
183
|
-
mov: "video",
|
184
|
-
mpeg: "video",
|
185
|
-
mjpg: "video"
|
186
|
-
}
|
187
|
-
|
188
|
-
// return the video id of a video url
|
189
|
-
// http://lasnv.net/foro/839/Javascript_parsear_URL_de_YouTube
|
190
|
-
$.cama_youtube_key = function(url){
|
191
|
-
var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
|
192
|
-
var match = url.match(regExp);
|
193
|
-
var b = false;
|
194
|
-
if (match&&match[7].length==11){
|
195
|
-
b=match[7];
|
196
|
-
}
|
197
|
-
return b;
|
198
|
-
}
|
199
|
-
|
200
|
-
// verify the url for youtube, vimeo...
|
201
|
-
// return youtube | metcafe|dailymotion|vimeo
|
202
|
-
$.cama_check_video_url = function (url) {
|
203
|
-
var regYoutube = new RegExp(/^.*((youtu.be\/)|(v\/)|(\/u\/w\/)|(embed\/)|(watch?))??v?=?([^#&?]*).*/);
|
204
|
-
var regVimeo = new RegExp(/^.*(vimeo.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/);
|
205
|
-
var regDailymotion = new RegExp(/^.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/);
|
206
|
-
var regMetacafe = new RegExp(/^.*(metacafe.com)(\/watch\/)(d+)(.*)/i);
|
207
|
-
if (regYoutube.test(url)) {
|
208
|
-
return 'youtube';
|
209
|
-
} else if (regMetacafe.test(url)) {
|
210
|
-
return 'metacafe';
|
211
|
-
} else if (regDailymotion.test(url)) {
|
212
|
-
return 'dailymotion';
|
213
|
-
} else if (regVimeo.test(url)) {
|
214
|
-
return 'vimeo';
|
215
|
-
} else {
|
216
|
-
return false;
|
217
|
-
}
|
218
|
-
}
|
219
|
-
|
220
|
-
// helper validate only letters latin
|
221
|
-
var regex = /^[a-z\sÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏàáâãäåæçèéêëìíîïÐÑÒÓÔÕÖØÙÚÛÜÝÞßðñòóôõöøùúûüýþÿ]+$/i;
|
222
|
-
jQuery.validator.addMethod("lettersonly", function (value, element) {
|
223
|
-
return this.optional(element) || regex.test(value);
|
224
|
-
}, "Only alphabetical characters");
|
225
|
-
|
226
|
-
/************ Custom jquery validation as defaults ***************/
|
227
|
-
jQuery.validator.setDefaults({
|
228
|
-
focusInvalid: true,
|
229
|
-
ignore: ".translated-item",
|
230
|
-
errorPlacement: function (a, b) {
|
231
|
-
if (!a.text()) return;
|
232
|
-
if (b.parent().hasClass('trans_tab_item')) { // tabs
|
233
|
-
var parent = b.parent();
|
234
|
-
$("a[href='#" + parent.attr('id') + "']").addClass('has-error').trigger('click');
|
235
|
-
parent.addClass('has-error').append(a.addClass('help-block'));
|
236
|
-
} else if (b.parent().hasClass('form-group')) {
|
237
|
-
b.parent().addClass('has-error').append(a.addClass('help-block'));
|
238
|
-
} else {
|
239
|
-
if (b.attr('name') == 'categories[]')
|
240
|
-
b.parent().before(a.addClass('help-block')).parent().addClass('has-error');
|
241
|
-
else
|
242
|
-
b.parent().after(a.addClass('help-block')).parent().addClass('has-error');
|
243
|
-
}
|
244
|
-
},
|
245
|
-
success: function (error, element) {
|
246
|
-
$(element).parent().removeClass('has-error').parent().removeClass('has-error')
|
247
|
-
if ($(element).parent().hasClass('tab-pane')) $("a[href='#" + $(element).parent().attr('id') + "']").removeClass('has-error');
|
248
|
-
},
|
249
|
-
highlight: function(element, errorClass){ //fix for error fields in hidden tab
|
250
|
-
var tab = "";
|
251
|
-
if(!$(element).is(":visible") && (tab = $(element).closest(".tab-pane")).length && tab.attr("id")){
|
252
|
-
tab.closest(".tabs").find(" > ul a[href='#"+tab.attr("id")+"']").click();
|
253
|
-
}
|
254
|
-
}
|
255
|
-
});
|
256
|
-
|
257
|
-
// validate file extension defined in data-formats
|
258
|
-
// data-formats: (default '') image | audio | video (support also external youtube metacafe, dailymotion, vimeo) | or file extension like: jpg|png
|
259
|
-
$.validator.addMethod("file_format", function (value, element) {
|
260
|
-
var formats = $(element).attr("data-formats");
|
261
|
-
var ext = value.split(".").pop().toLowerCase();
|
262
|
-
if (formats)
|
263
|
-
return ($.inArray("video", formats.split(",")) >= 0 && $.cama_check_video_url(value)) || $.inArray($.file_formats[ext], formats.split(",")) >= 0 || $.inArray(ext, formats.split(",")) >= 0
|
264
|
-
|
265
|
-
return true;
|
266
|
-
}, "File format not accepted.");
|
267
|
-
jQuery.validator.addClassRules({
|
268
|
-
file_format: {file_format: true}
|
269
|
-
});
|
270
|
-
})(jQuery);
|
271
|
-
|
272
|
-
// convert string into hashcode
|
273
|
-
String.prototype.hashCode = function () {
|
274
|
-
var message = this;
|
275
|
-
if (message == "") {
|
276
|
-
return "";
|
277
|
-
}
|
278
|
-
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/_-".split("");
|
279
|
-
var length = 40;
|
280
|
-
for (var last = 0, i = 0, len = message.length; i < len; i++) {
|
281
|
-
last = (message.charCodeAt(i) + 31 * last) % 59;
|
282
|
-
}
|
283
|
-
length = length || message.length;
|
284
|
-
while (len < length) {
|
285
|
-
message += message;
|
286
|
-
len += len;
|
287
|
-
}
|
288
|
-
message = message.slice(0, length);
|
289
|
-
for (var ret = "", i = 0; i < length; i++) {
|
290
|
-
ret += chars[last = (i + last + message.charCodeAt(i)) % 64];
|
291
|
-
}
|
292
|
-
return ret;
|
293
|
-
};
|
294
|
-
|
295
|
-
// convert string path into full url
|
296
|
-
String.prototype.to_url = function () {
|
297
|
-
return root_url.slice(0, root_url.length - 1) + this;
|
298
|
-
};
|
299
|
-
// jquery browser supoer
|
300
|
-
!function (a) {
|
301
|
-
"function" == typeof define && define.amd ? define(["jquery"], function (b) {
|
302
|
-
a(b)
|
303
|
-
}) : "object" == typeof module && "object" == typeof module.exports ? module.exports = a(require("jquery")) : a(window.jQuery)
|
304
|
-
}(function (a) {
|
305
|
-
"use strict";
|
306
|
-
function b(a) {
|
307
|
-
void 0 === a && (a = window.navigator.userAgent), a = a.toLowerCase();
|
308
|
-
var b = /(edge)\/([\w.]+)/.exec(a) || /(opr)[\/]([\w.]+)/.exec(a) || /(chrome)[ \/]([\w.]+)/.exec(a) || /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || a.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec(a) || a.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || [], c = /(ipad)/.exec(a) || /(ipod)/.exec(a) || /(iphone)/.exec(a) || /(kindle)/.exec(a) || /(silk)/.exec(a) || /(android)/.exec(a) || /(windows phone)/.exec(a) || /(win)/.exec(a) || /(mac)/.exec(a) || /(linux)/.exec(a) || /(cros)/.exec(a) || /(playbook)/.exec(a) || /(bb)/.exec(a) || /(blackberry)/.exec(a) || [], d = {}, e = {
|
309
|
-
browser: b[5] || b[3] || b[1] || "",
|
310
|
-
version: b[2] || b[4] || "0",
|
311
|
-
versionNumber: b[4] || b[2] || "0",
|
312
|
-
platform: c[0] || ""
|
313
|
-
};
|
314
|
-
if (e.browser && (d[e.browser] = !0, d.version = e.version, d.versionNumber = parseInt(e.versionNumber, 10)), e.platform && (d[e.platform] = !0), (d.android || d.bb || d.blackberry || d.ipad || d.iphone || d.ipod || d.kindle || d.playbook || d.silk || d["windows phone"]) && (d.mobile = !0), (d.cros || d.mac || d.linux || d.win) && (d.desktop = !0), (d.chrome || d.opr || d.safari) && (d.webkit = !0), d.rv || d.edge) {
|
315
|
-
var f = "msie";
|
316
|
-
e.browser = f, d[f] = !0
|
317
|
-
}
|
318
|
-
if (d.safari && d.blackberry) {
|
319
|
-
var g = "blackberry";
|
320
|
-
e.browser = g, d[g] = !0
|
321
|
-
}
|
322
|
-
if (d.safari && d.playbook) {
|
323
|
-
var h = "playbook";
|
324
|
-
e.browser = h, d[h] = !0
|
325
|
-
}
|
326
|
-
if (d.bb) {
|
327
|
-
var i = "blackberry";
|
328
|
-
e.browser = i, d[i] = !0
|
329
|
-
}
|
330
|
-
if (d.opr) {
|
331
|
-
var j = "opera";
|
332
|
-
e.browser = j, d[j] = !0
|
333
|
-
}
|
334
|
-
if (d.safari && d.android) {
|
335
|
-
var k = "android";
|
336
|
-
e.browser = k, d[k] = !0
|
337
|
-
}
|
338
|
-
if (d.safari && d.kindle) {
|
339
|
-
var l = "kindle";
|
340
|
-
e.browser = l, d[l] = !0
|
341
|
-
}
|
342
|
-
if (d.safari && d.silk) {
|
343
|
-
var m = "silk";
|
344
|
-
e.browser = m, d[m] = !0
|
345
|
-
}
|
346
|
-
return d.name = e.browser, d.platform = e.platform, d
|
347
|
-
}
|
348
|
-
|
349
|
-
return window.jQBrowser = b(window.navigator.userAgent), window.jQBrowser.uaMatch = b, a && (a.browser = window.jQBrowser), window.jQBrowser
|
350
|
-
});
|
131
|
+
// jquery browser support
|
132
|
+
!function (a) { "function" == typeof define && define.amd ? define(["jquery"], function (b) { a(b) }) : "object" == typeof module && "object" == typeof module.exports ? module.exports = a(require("jquery")) : a(window.jQuery) }(function (a) { "use strict"; function b(a) { void 0 === a && (a = window.navigator.userAgent), a = a.toLowerCase(); var b = /(edge)\/([\w.]+)/.exec(a) || /(opr)[\/]([\w.]+)/.exec(a) || /(chrome)[ \/]([\w.]+)/.exec(a) || /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || a.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec(a) || a.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || [], c = /(ipad)/.exec(a) || /(ipod)/.exec(a) || /(iphone)/.exec(a) || /(kindle)/.exec(a) || /(silk)/.exec(a) || /(android)/.exec(a) || /(windows phone)/.exec(a) || /(win)/.exec(a) || /(mac)/.exec(a) || /(linux)/.exec(a) || /(cros)/.exec(a) || /(playbook)/.exec(a) || /(bb)/.exec(a) || /(blackberry)/.exec(a) || [], d = {}, e = { browser: b[5] || b[3] || b[1] || "", version: b[2] || b[4] || "0", versionNumber: b[4] || b[2] || "0", platform: c[0] || ""}; if (e.browser && (d[e.browser] = !0, d.version = e.version, d.versionNumber = parseInt(e.versionNumber, 10)), e.platform && (d[e.platform] = !0), (d.android || d.bb || d.blackberry || d.ipad || d.iphone || d.ipod || d.kindle || d.playbook || d.silk || d["windows phone"]) && (d.mobile = !0), (d.cros || d.mac || d.linux || d.win) && (d.desktop = !0), (d.chrome || d.opr || d.safari) && (d.webkit = !0), d.rv || d.edge) { var f = "msie"; e.browser = f, d[f] = !0 } if (d.safari && d.blackberry) { var g = "blackberry"; e.browser = g, d[g] = !0 } if (d.safari && d.playbook) { var h = "playbook"; e.browser = h, d[h] = !0 } if (d.bb) { var i = "blackberry"; e.browser = i, d[i] = !0 } if (d.opr) { var j = "opera"; e.browser = j, d[j] = !0 } if (d.safari && d.android) { var k = "android"; e.browser = k, d[k] = !0 } if (d.safari && d.kindle) { var l = "kindle"; e.browser = l, d[l] = !0 } if (d.safari && d.silk) { var m = "silk"; e.browser = m, d[m] = !0 } return d.name = e.browser, d.platform = e.platform, d } return window.jQBrowser = b(window.navigator.userAgent), window.jQBrowser.uaMatch = b, a && (a.browser = window.jQBrowser), window.jQBrowser });
|