camaleon_cms 2.1.2.1 → 2.2.0
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.
- checksums.yaml +4 -4
- data/README.md +7 -4
- data/app/apps/plugins/attack/attack_helper.rb +3 -0
- data/app/apps/plugins/attack/config/custom_models.rb +4 -2
- data/app/apps/plugins/attack/config/locales/translation.yml +19 -0
- data/app/apps/plugins/attack/models/attack.rb +1 -1
- data/app/apps/plugins/front_cache/config/initializer.rb +4 -2
- data/app/apps/plugins/front_cache/config/locales/translation.yml +19 -0
- data/app/apps/themes/camaleon_first/main_helper.rb +1 -3
- data/app/apps/themes/default/views/admin/settings.html.erb +0 -1
- data/app/apps/themes/default/views/layouts/index.html.erb +5 -5
- data/app/apps/themes/new/assets/css/main.css +1 -1
- data/app/apps/themes/new/assets/js/main.js +1 -1
- data/app/apps/themes/new/views/admin/settings.html.erb +1 -1
- data/app/assets/images/camaleon_cms/language/{pt_br.png → pt-BR.png} +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/_custom_fields.js +105 -51
- data/app/assets/javascripts/camaleon_cms/admin/_libraries.js +4 -2
- data/app/assets/javascripts/camaleon_cms/admin/_translator.js +2 -2
- data/app/assets/javascripts/camaleon_cms/admin/custom_fields_form.js +9 -7
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/{pt_br.js → pt-BR.js} +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/{pt_br.js → pt-BR.js} +1 -1
- data/app/assets/javascripts/camaleon_cms/admin/nav_menu.js.coffee +15 -1
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/{pt_br.js → pt-BR.js} +1 -1
- data/app/assets/javascripts/camaleon_cms/admin/uploader/_media_manager.js.coffee +24 -12
- data/app/assets/stylesheets/camaleon_cms/admin/_custom_admin.css.scss +9 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/_admin.css.scss +1 -1
- data/app/controllers/camaleon_cms/admin/appearances/nav_menus_controller.rb +13 -6
- data/app/controllers/camaleon_cms/admin/appearances/themes_controller.rb +1 -1
- data/app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb +1 -1
- data/app/controllers/camaleon_cms/admin/appearances/widgets/main_controller.rb +1 -1
- data/app/controllers/camaleon_cms/admin/appearances/widgets/sidebar_controller.rb +1 -1
- data/app/controllers/camaleon_cms/admin/comments_controller.rb +1 -1
- data/app/controllers/camaleon_cms/admin/media_controller.rb +15 -5
- data/app/controllers/camaleon_cms/admin/plugins_controller.rb +1 -1
- data/app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb +14 -8
- data/app/controllers/camaleon_cms/admin/settings_controller.rb +22 -7
- data/app/controllers/camaleon_cms/admin/user_roles_controller.rb +1 -1
- data/app/controllers/camaleon_cms/admin/users_controller.rb +1 -1
- data/app/controllers/camaleon_cms/apps/plugins_admin_controller.rb +4 -1
- data/app/controllers/camaleon_cms/apps/plugins_front_controller.rb +5 -10
- data/app/controllers/camaleon_cms/apps/themes_front_controller.rb +1 -4
- data/app/controllers/camaleon_cms/camaleon_controller.rb +4 -13
- data/app/controllers/camaleon_cms/frontend_controller.rb +15 -9
- data/app/controllers/concerns/camaleon_cms/frontend_concern.rb +17 -8
- data/app/decorators/camaleon_cms/application_decorator.rb +3 -3
- data/app/decorators/camaleon_cms/custom_fields_concern.rb +21 -6
- data/app/decorators/camaleon_cms/post_comment_decorator.rb +21 -0
- data/app/decorators/camaleon_cms/site_decorator.rb +5 -5
- data/app/decorators/camaleon_cms/theme_decorator.rb +10 -0
- data/app/decorators/camaleon_cms/user_decorator.rb +2 -2
- data/app/helpers/camaleon_cms/admin/custom_fields_helper.rb +24 -2
- data/app/helpers/camaleon_cms/admin/menus_helper.rb +13 -12
- data/app/helpers/camaleon_cms/frontend/application_helper.rb +1 -1
- data/app/helpers/camaleon_cms/frontend/nav_menu_helper.rb +7 -6
- data/app/helpers/camaleon_cms/plugins_helper.rb +20 -18
- data/app/helpers/camaleon_cms/site_helper.rb +1 -20
- data/app/helpers/camaleon_cms/theme_helper.rb +1 -1
- data/app/helpers/camaleon_cms/uploader_helper.rb +25 -20
- data/app/helpers/camaleon_cms/user_roles_helper.rb +6 -1
- data/app/mailers/camaleon_cms/html_mailer.rb +2 -1
- data/app/models/camaleon_cms/ability.rb +3 -26
- data/app/models/camaleon_cms/custom_field.rb +2 -1
- data/app/models/camaleon_cms/custom_field_group.rb +23 -22
- data/app/models/camaleon_cms/custom_fields_relationship.rb +1 -1
- data/app/models/camaleon_cms/nav_menu.rb +1 -1
- data/app/models/camaleon_cms/nav_menu_item.rb +12 -19
- data/app/models/camaleon_cms/post.rb +1 -1
- data/app/models/camaleon_cms/post_comment.rb +3 -1
- data/app/models/camaleon_cms/post_default.rb +1 -1
- data/app/models/camaleon_cms/post_type.rb +5 -4
- data/app/models/camaleon_cms/site.rb +12 -0
- data/app/models/camaleon_cms/term_taxonomy.rb +1 -1
- data/app/models/camaleon_cms/user_role.rb +5 -1
- data/app/models/concerns/camaleon_cms/custom_fields_read.rb +99 -49
- data/app/uploaders/camaleon_cms_aws_uploader.rb +1 -1
- data/app/uploaders/camaleon_cms_local_uploader.rb +19 -3
- data/app/uploaders/camaleon_cms_uploader.rb +13 -6
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_custom_menus.html.erb +9 -2
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_form.html.erb +1 -1
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_menu_items.html.erb +2 -2
- data/app/views/camaleon_cms/admin/appearances/themes/index.html.erb +1 -3
- data/app/views/camaleon_cms/admin/media/_render_file_item.html.erb +1 -0
- data/app/views/camaleon_cms/admin/media/index.html.erb +3 -3
- data/app/views/camaleon_cms/admin/posts/_sidebar.html.erb +1 -1
- data/app/views/camaleon_cms/admin/posts/form.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/_configuration_settings.html.erb +4 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/_get_items.html.erb +6 -6
- data/app/views/camaleon_cms/admin/settings/custom_fields/_meta_data.html.erb +0 -9
- data/app/views/camaleon_cms/admin/settings/custom_fields/_render.html.erb +39 -55
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_audio.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_checkbox.html.erb +2 -2
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_checkboxes.html.erb +3 -3
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_colorpicker.html.erb +3 -3
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_date.html.erb +3 -3
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_editor.html.erb +2 -2
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_email.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_field_attrs.html.erb +3 -3
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_file.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_image.html.erb +2 -2
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_numeric.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_phone.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_posts.html.erb +3 -3
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_private_file.html.erb +4 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_radio.html.erb +3 -3
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_select.html.erb +3 -3
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_select_eval.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_text_area.html.erb +2 -2
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_text_box.html.erb +2 -2
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_url.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_users.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_video.html.erb +1 -1
- data/app/views/camaleon_cms/admin/settings/custom_fields/form.html.erb +8 -0
- data/app/views/camaleon_cms/admin/settings/site.html.erb +1 -20
- data/app/views/camaleon_cms/admin/settings/theme.html.erb +20 -0
- data/app/views/camaleon_cms/admin/user_roles/form.html.erb +2 -2
- data/app/views/camaleon_cms/default_theme/admin/settings.html.erb +0 -1
- data/app/views/camaleon_cms/default_theme/partials/_comments.html.erb +0 -2
- data/app/views/camaleon_cms/default_theme/partials/_search_form.html.erb +1 -1
- data/app/views/camaleon_cms/default_theme/partials/_sidebar.html.erb +3 -3
- data/app/views/layouts/camaleon_cms/admin/_footer.html.erb +1 -1
- data/config/initializers/action_view.rb +12 -7
- data/config/initializers/custom_initializers.rb +6 -12
- data/config/locales/camaleon_cms/admin/en.yml +1 -0
- data/config/locales/camaleon_cms/admin/es.yml +4 -0
- data/config/locales/camaleon_cms/admin/it.yml +1 -24
- data/config/locales/camaleon_cms/admin/js.yml +41 -0
- data/config/locales/camaleon_cms/admin/{pt_br.yml → pt-BR.yml} +48 -18
- data/config/locales/camaleon_cms/common.yml +66 -0
- data/config/locales/camaleon_cms/languages.yml +13 -0
- data/config/locales/camaleon_cms/routes.yml +2 -2
- data/config/routes/admin.rb +3 -0
- data/config/system.json +3 -3
- data/db/migrate/20160606135421_improve_menus_structure.rb +7 -0
- data/db/migrate/20160609121449_add_group_to_custom_field_values.rb +5 -0
- data/lib/camaleon_cms/engine.rb +4 -3
- data/lib/camaleon_cms/version.rb +1 -1
- data/lib/ext/string.rb +20 -0
- data/lib/ext/translator.rb +2 -2
- data/lib/generators/camaleon_cms/gem_plugin_generator.rb +1 -1
- data/lib/generators/camaleon_cms/gem_plugin_template/config/camaleon_plugin.json +1 -1
- data/lib/generators/camaleon_cms/install_generator.rb +1 -0
- data/lib/generators/camaleon_cms/theme_template/app/apps/themes/my_theme/main_helper.rb +1 -4
- data/lib/generators/camaleon_cms/theme_template/app/apps/themes/my_theme/views/index.html.erb +1 -25
- data/lib/generators/camaleon_cms/theme_template/app/apps/themes/my_theme/views/layouts/index.html.erb +17 -18
- data/lib/plugin_routes.rb +4 -4
- metadata +25 -48
- data/app/apps/plugins/contact_form/admin_forms_controller.rb +0 -85
- data/app/apps/plugins/contact_form/assets/css/admin/form-builder/formbuilder.css +0 -70
- data/app/apps/plugins/contact_form/assets/css/contact-form.css +0 -8
- data/app/apps/plugins/contact_form/assets/css/front/railsform.scss +0 -94
- data/app/apps/plugins/contact_form/assets/css/readme.txt +0 -1
- data/app/apps/plugins/contact_form/assets/js/contact_form.js +0 -2
- data/app/apps/plugins/contact_form/assets/js/form-builder/formbuilder.js +0 -1271
- data/app/apps/plugins/contact_form/assets/js/form-builder/vendor.js +0 -3072
- data/app/apps/plugins/contact_form/assets/js/readme.txt +0 -1
- data/app/apps/plugins/contact_form/config/config.json +0 -35
- data/app/apps/plugins/contact_form/config/custom_models.rb +0 -3
- data/app/apps/plugins/contact_form/config/locales/readme.txt +0 -1
- data/app/apps/plugins/contact_form/config/locales/translation.yml +0 -315
- data/app/apps/plugins/contact_form/config/routes_admin.txt +0 -4
- data/app/apps/plugins/contact_form/config/routes_front.txt +0 -2
- data/app/apps/plugins/contact_form/contact_form_helper.rb +0 -154
- data/app/apps/plugins/contact_form/contact_form_html_helper.rb +0 -140
- data/app/apps/plugins/contact_form/front_controller.rb +0 -50
- data/app/apps/plugins/contact_form/models/contact_form.rb +0 -26
- data/app/apps/plugins/contact_form/views/admin_forms/_form.html.erb +0 -33
- data/app/apps/plugins/contact_form/views/admin_forms/edit.html.erb +0 -338
- data/app/apps/plugins/contact_form/views/admin_forms/index.html.erb +0 -65
- data/app/apps/plugins/contact_form/views/admin_forms/responses.html.erb +0 -60
- data/app/apps/plugins/contact_form/views/contact_form/_email_content.html.erb +0 -26
- data/app/apps/plugins/contact_form/views/forms_shorcode.html.erb +0 -28
- data/app/apps/plugins/contact_form/views/front/index.html.erb +0 -3
- data/app/apps/themes/camaleon_first/views/admin/settings.html.erb +0 -4
- data/app/apps/themes/new/assets/css/bootstrap/bootstrap.min.css +0 -6735
- data/app/apps/themes/new/assets/js/plugins/bootstrap/bootstrap.min.js +0 -6
- data/app/apps/themes/new/assets/js/plugins/jquery/jquery.min.js +0 -4
- data/lib/generators/camaleon_cms/gem_theme_generator.rb +0 -97
- data/lib/generators/camaleon_cms/gem_theme_template/app/assets/images/themes/my_plugin/image.png +0 -0
- data/lib/generators/camaleon_cms/gem_theme_template/app/assets/javascripts/themes/my_plugin/main.js +0 -14
- data/lib/generators/camaleon_cms/gem_theme_template/app/assets/stylesheets/themes/my_plugin/main.css +0 -13
- data/lib/generators/camaleon_cms/gem_theme_template/app/helpers/themes/my_plugin/main_helper.rb +0 -26
- data/lib/generators/camaleon_cms/gem_theme_template/app/views/themes/my_plugin/admin/settings.html.erb +0 -4
- data/lib/generators/camaleon_cms/gem_theme_template/app/views/themes/my_plugin/index.html.erb +0 -25
- data/lib/generators/camaleon_cms/gem_theme_template/app/views/themes/my_plugin/layouts/index.html.erb +0 -70
- data/lib/generators/camaleon_cms/gem_theme_template/app/views/themes/my_plugin/partials/readme.txt +0 -1
- data/lib/generators/camaleon_cms/gem_theme_template/config/camaleon_theme.json +0 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7a8d04f6b677b60b055717333082cc33f4a5eb23
|
|
4
|
+
data.tar.gz: cb1b1292033c55314017d3feefd1f35d4f73a779
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cadc1f31405e3cc1fe1aa0ccd6263a0dc0a812a476cb47f7889c86baa081f6f740e27eead856a059e305b988ca47b38dff9c3d3286c8766acacac64229896978
|
|
7
|
+
data.tar.gz: 5a7a78728a449ce23abf975786a1d2797747bbd2c5998f741c40afa248c51552905e7ccaadd0781ab22c873dff947a5af97e8d00728e6fb6d3ce4fa16e306e64
|
data/README.md
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* Add the gem in your Gemfile
|
|
29
29
|
|
|
30
30
|
```
|
|
31
|
-
gem "camaleon_cms", '>=2.
|
|
31
|
+
gem "camaleon_cms", '>=2.2.0' # Stable versions 2.1.2.0, 2.1.1.4, 2.1.1, 2.1.0
|
|
32
32
|
# gem "camaleon_cms", github: 'owen2345/camaleon-cms' # current development version
|
|
33
33
|
```
|
|
34
34
|
* Install required Gem and dependencies
|
|
@@ -176,15 +176,18 @@ See more here: http://camaleon.tuzitio.com/version-history.html
|
|
|
176
176
|
- Add this gem into your Gemfile
|
|
177
177
|
|
|
178
178
|
```
|
|
179
|
-
|
|
180
|
-
|
|
179
|
+
group :development, :test do
|
|
180
|
+
gem 'rspec-rails', '~> 3.4'
|
|
181
|
+
gem 'capybara'
|
|
182
|
+
gem 'selenium-webdriver'
|
|
183
|
+
end
|
|
181
184
|
```
|
|
182
185
|
- In your console
|
|
183
186
|
|
|
184
187
|
```
|
|
185
188
|
rails generate rspec:install
|
|
186
189
|
```
|
|
187
|
-
- Add this to spec/rails_helper.rb (Insert before line of "RSpec.configure do |config|")
|
|
190
|
+
- Add this to spec/rails_helper.rb (Insert before line of "RSpec.configure do |config|") and change use_transactional_fixtures into false
|
|
188
191
|
|
|
189
192
|
```
|
|
190
193
|
Dir[File.join($camaleon_engine_dir, 'spec/support/**/*.rb')].each { |f| require f }
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
# custom class for site
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
Rails.application.config.to_prepare do
|
|
3
|
+
CamaleonCms::Site.class_eval do
|
|
4
|
+
has_many :attack, class_name: "Plugins::Attack::Models::Attack"
|
|
5
|
+
end
|
|
4
6
|
end
|
|
@@ -16,6 +16,25 @@
|
|
|
16
16
|
settings_saved: 'Settings saved!'
|
|
17
17
|
settings: 'Settings'
|
|
18
18
|
|
|
19
|
+
pt-BR:
|
|
20
|
+
plugin:
|
|
21
|
+
attack:
|
|
22
|
+
title: 'Ataque'
|
|
23
|
+
attack_security: 'Segurança contra ataques'
|
|
24
|
+
form:
|
|
25
|
+
in: 'em'
|
|
26
|
+
seconds: 'Segundos'
|
|
27
|
+
minutes: 'Minutos'
|
|
28
|
+
type_max_requests_time: 'Requisições %{type} máximas'
|
|
29
|
+
type_time_requests_seconds: 'Requisições %{type} por tipo [segundos]'
|
|
30
|
+
ban_time_minutes: 'Tempo de expulsão'
|
|
31
|
+
ban_messages: 'Mensagem de expulsão'
|
|
32
|
+
request_limit_exceeded: 'Número de requisições excedeu o limite!'
|
|
33
|
+
messages:
|
|
34
|
+
settings_saved: 'Configurações salvas com sucesso!'
|
|
35
|
+
settings: 'Configurações'
|
|
36
|
+
|
|
37
|
+
|
|
19
38
|
|
|
20
39
|
es:
|
|
21
40
|
plugin:
|
|
@@ -55,3 +55,22 @@ nl:
|
|
|
55
55
|
settings_saved: 'instellingen opgeslagen!'
|
|
56
56
|
cache_destroyed: 'Cache opgeschoond!'
|
|
57
57
|
settings: 'instellingen'
|
|
58
|
+
|
|
59
|
+
pt-BR:
|
|
60
|
+
plugin:
|
|
61
|
+
front_cache:
|
|
62
|
+
button:
|
|
63
|
+
add_new_path: 'Adicionar novo caminho'
|
|
64
|
+
custom_url_paths: 'Caminhos de URL customizados'
|
|
65
|
+
clean_cache: 'Limpar Cache'
|
|
66
|
+
title: 'Cache de Páginas de Front End'
|
|
67
|
+
home_page: 'Página Inicial'
|
|
68
|
+
pages: 'Páginas'
|
|
69
|
+
pages_of: 'Páginas de'
|
|
70
|
+
skip_cache_pages: 'Pular Cache de Páginas'
|
|
71
|
+
message:
|
|
72
|
+
please_checkpost_need_cache: 'Por favor cheque todos os posts ou o tipo do post que você precisa cachear.'
|
|
73
|
+
enabled_cache_inner_content_logged_users: 'Permitir cache para conteúdo interno de usuários logados'
|
|
74
|
+
settings_saved: 'Configurações Salvas!'
|
|
75
|
+
cache_destroyed: 'Cache destruído!'
|
|
76
|
+
settings: 'Configurações'
|
|
@@ -12,9 +12,7 @@ module Themes::CamaleonFirst::MainHelper
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def camaleon_first_settings(theme)
|
|
15
|
-
|
|
16
|
-
# Also, you can save your extra values added in admin/settings.html.erb
|
|
17
|
-
# sample: theme.set_meta("my_key", params[:my_value])
|
|
15
|
+
|
|
18
16
|
end
|
|
19
17
|
|
|
20
18
|
# return a list of options for "Recent items from " on site settings -> theme settings
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<%= render partial: "camaleon_cms/admin/settings/custom_fields/render", locals: {record: current_theme, field_groups: current_theme.get_field_groups, fields_name: "theme_fields"} %>
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
<li class="dropdown">
|
|
34
34
|
<a class="dropdown-toggle" href="#"><img src="<%= cama_current_user.decorate.the_avatar %>" style="max-width: 24px; border-radius: 50%" alt=""/> <%= cama_current_user.username %></a>
|
|
35
35
|
<ul class="dropdown-menu">
|
|
36
|
-
<li><a href="<%= cama_admin_dashboard_path %>"
|
|
37
|
-
<li><a href="<%= cama_admin_profile_path %>"
|
|
38
|
-
<li><a href="<%= cama_admin_logout_path %>"
|
|
36
|
+
<li><a href="<%= cama_admin_dashboard_path %>"><%= I18n.t('camaleon_cms.common.dashboard') %></a></li>
|
|
37
|
+
<li><a href="<%= cama_admin_profile_path %>"><%= I18n.t('camaleon_cms.common.profile') %></a></li>
|
|
38
|
+
<li><a href="<%= cama_admin_logout_path %>"><%= I18n.t('camaleon_cms.common.logout') %></a></li>
|
|
39
39
|
</ul>
|
|
40
40
|
</li>
|
|
41
41
|
<% else %>
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
<li class="dropdown">
|
|
44
44
|
<a id="login-user" class="dropdown-toggle" href="#">Login / Register</a>
|
|
45
45
|
<ul class="dropdown-menu">
|
|
46
|
-
<li><a href="<%= cama_admin_login_path %>"
|
|
47
|
-
<li><a href="<%= cama_admin_register_path %>"
|
|
46
|
+
<li><a href="<%= cama_admin_login_path %>"><%= I18n.t('camaleon_cms.common.login') %></a></li>
|
|
47
|
+
<li><a href="<%= cama_admin_register_path %>"><%= I18n.t('camaleon_cms.common.register') %></a></li>
|
|
48
48
|
</ul>
|
|
49
49
|
</li>
|
|
50
50
|
<% end %>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
|
9
9
|
* compiled file, but it's generally better to create a new file per style scope.
|
|
10
10
|
*
|
|
11
|
-
*= require
|
|
11
|
+
*= require camaleon_cms/bootstrap.min
|
|
12
12
|
*= require font-awesome
|
|
13
13
|
*= require ./styles
|
|
14
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
<!--Here my custom settings for current theme-->
|
|
File without changes
|
|
@@ -1,56 +1,101 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
function add_field(value) {
|
|
10
|
-
var field = $field.clone(true);
|
|
1
|
+
// build custom field groups with values recovered from DB received in field_values
|
|
2
|
+
function build_custom_field_group(field_values, group_id, fields_data, is_repeat){
|
|
3
|
+
if(field_values.length == 0) field_values = [{}];
|
|
4
|
+
var group_panel = $('#custom_field_group_'+group_id);
|
|
5
|
+
var group_panel_body = group_panel.find(' > .panel-body');
|
|
6
|
+
var group_clone = group_panel_body.children('.custom_sortable_grouped').clone().removeClass('hidden');
|
|
7
|
+
var field_group_counter = 0;
|
|
8
|
+
group_panel_body.children('.custom_sortable_grouped').remove();
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
input
|
|
15
|
-
|
|
10
|
+
function add_group(values){
|
|
11
|
+
var clone = group_clone.clone();
|
|
12
|
+
clone.find('input, textarea, select').not('.code_style').each(function(){ $(this).attr('name', $(this).attr('name').replace('field_options', 'field_options['+field_group_counter+']')) });
|
|
13
|
+
group_panel_body.append(clone);
|
|
14
|
+
group_panel.trigger('update_custom_group_number');
|
|
15
|
+
for(var k in fields_data){
|
|
16
|
+
cama_build_custom_field(clone.find('.content-field-'+fields_data[k].id), fields_data[k], values[k]);
|
|
17
|
+
}
|
|
18
|
+
if(field_group_counter == 0) clone.children('.header-field-grouped').find('.del').remove();
|
|
19
|
+
field_group_counter ++;
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
16
22
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
if(is_repeat){
|
|
24
|
+
group_panel_body.sortable({ handle: ".move.fa-arrows", items: ' > .custom_sortable_grouped',
|
|
25
|
+
update: function(){ group_panel.trigger('update_custom_group_number'); },
|
|
26
|
+
start: function (e, ui) { // fix tinymce
|
|
27
|
+
$(ui.item).find('.mce-panel').each(function () {
|
|
28
|
+
tinymce.execCommand('mceRemoveEditor', false, $(this).next().addClass('cama_restore_editor').attr('id'));
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
stop: function (e, ui) { // fix tinymce
|
|
32
|
+
$(ui.item).find('.cama_restore_editor').each(function () {
|
|
33
|
+
tinymce.execCommand('mceAddEditor', true, $(this).attr('id'));
|
|
34
|
+
});
|
|
35
|
+
}});
|
|
36
|
+
group_panel.find('.btn.duplicate_cutom_group').click(add_group);
|
|
37
|
+
group_panel_body.on('click', '.header-field-grouped .del', function(){ if(confirm(I18n("msg.delete_item"))) $(this).closest('.custom_sortable_grouped').fadeOut('slow', function(){ $(this).remove(); group_panel.trigger('update_custom_group_number'); }); return false; });
|
|
38
|
+
group_panel_body.on('click', '.header-field-grouped .toggleable', function(){
|
|
39
|
+
if($(this).hasClass('fa-angle-down')) $(this).removeClass('fa-angle-down').addClass('fa-angle-up').closest('.header-field-grouped').next().slideUp();
|
|
40
|
+
else $(this).removeClass('fa-angle-up').addClass('fa-angle-down').closest('.header-field-grouped').next().slideDown();
|
|
41
|
+
return false;
|
|
42
|
+
});
|
|
43
|
+
group_panel.bind('update_custom_group_number', function(){ $(this).find('.custom_sortable_grouped').each(function(index){ $(this).find('input.cama_custom_group_number').val(index); }); });
|
|
44
|
+
$.each(field_values, function(field_val, key){ add_group(this); });
|
|
45
|
+
}else{
|
|
46
|
+
add_group(field_values[0]);
|
|
22
47
|
}
|
|
48
|
+
}
|
|
23
49
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
50
|
+
function cama_build_custom_field(panel, field_data, values){
|
|
51
|
+
values = values || [];
|
|
52
|
+
var field_counter = 0;
|
|
53
|
+
var $field = panel.clone().wrap('li');
|
|
54
|
+
panel.html("<div class='cama_w_custom_fields'></div>"+(field_data.multiple ? "<div class='field_multiple_btn'> <a href='#' class='btn btn-warning btn-xs'> <i class='fa fa-plus'></i> "+panel.attr('data-add_field_title')+"</a></div>" : ''));
|
|
55
|
+
var field_actions = '<div class="actions"><i style="cursor: move" class="fa fa-arrows"></i> <i style="cursor: pointer" class="fa fa-times text-danger"></i></div>';
|
|
56
|
+
var callback = $field.find('.group-input-fields-content').attr('data-callback-render');
|
|
57
|
+
var $sortable = panel.children('.cama_w_custom_fields');
|
|
58
|
+
function add_field(value){
|
|
59
|
+
var field = $field.clone(true);
|
|
60
|
+
if(field_data.multiple) {
|
|
61
|
+
field.prepend(field_actions);
|
|
62
|
+
if(field_counter == 0) field.children('.actions').find('.fa-times').remove();
|
|
63
|
+
}
|
|
64
|
+
field.find('input, textarea, select').each(function(){ $(this).attr('name', $(this).attr('name').replace('[]', '['+field_counter+']')) });
|
|
65
|
+
if(field_data.disabled){
|
|
66
|
+
field.find('input, textarea, select').prop('readonly', true).filter('select').click(function(){ return false; }).focus(function(){ $(this).blur(); });
|
|
67
|
+
field.find('.btn').addClass('disabled').unbind().click(function(){ return false; });
|
|
32
68
|
}
|
|
33
|
-
} else add_field(default_value);
|
|
34
69
|
|
|
35
|
-
|
|
36
|
-
$
|
|
37
|
-
|
|
38
|
-
|
|
70
|
+
if(value) field.find('.input-value').val(value);
|
|
71
|
+
$sortable.append(field);
|
|
72
|
+
if(callback) eval(callback + "(field, value);");
|
|
73
|
+
field_counter ++;
|
|
74
|
+
}
|
|
75
|
+
if(values.length <= 0) values = [field_data.default_value];
|
|
76
|
+
if(field_data.kind != 'checkboxes') {
|
|
77
|
+
if (!field_data.multiple && values.length > 1) values = [values[0]];
|
|
78
|
+
$.each(values, function (i, value) {
|
|
79
|
+
add_field(value);
|
|
39
80
|
});
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
81
|
+
} else add_field(values);
|
|
82
|
+
|
|
83
|
+
if(field_data.multiple){ // sortable actions
|
|
84
|
+
panel.find('.field_multiple_btn .btn').click(function () { add_field(field_data.default_value); return false; });
|
|
85
|
+
panel.delegate('.actions .fa-times', "click", function () { if(confirm(I18n("msg.delete_item"))) $(this).closest('.editor-custom-fields').remove(); return false; });
|
|
86
|
+
$sortable.sortable({ handle: ".fa-arrows", items: ' > .editor-custom-fields',
|
|
87
|
+
start: function (e, ui) { // fix tinymce
|
|
88
|
+
$(ui.item).find('.mce-panel').each(function () {
|
|
89
|
+
tinymce.execCommand('mceRemoveEditor', false, $(this).next().addClass('cama_restore_editor').attr('id'));
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
stop: function (e, ui) { // fix tinymce
|
|
93
|
+
$(ui.item).find('.cama_restore_editor').each(function () {
|
|
94
|
+
tinymce.execCommand('mceAddEditor', true, $(this).attr('id'));
|
|
95
|
+
});
|
|
44
96
|
}
|
|
45
|
-
return false;
|
|
46
|
-
});
|
|
47
|
-
$sortable.find('li:first .fa-times').hide();
|
|
48
|
-
$sortable.sortable({
|
|
49
|
-
handle: ".fa-arrows"
|
|
50
97
|
});
|
|
51
98
|
}
|
|
52
|
-
|
|
53
|
-
$content.find('.clone-field').remove();
|
|
54
99
|
}
|
|
55
100
|
|
|
56
101
|
function custom_field_colorpicker($field) {
|
|
@@ -140,8 +185,8 @@ function custom_field_text_box($field) {
|
|
|
140
185
|
}
|
|
141
186
|
}
|
|
142
187
|
|
|
143
|
-
function load_upload_audio_field(
|
|
144
|
-
var $input = $(
|
|
188
|
+
function load_upload_audio_field(thiss) {
|
|
189
|
+
var $input = $(thiss).prev();
|
|
145
190
|
$.fn.upload_filemanager({
|
|
146
191
|
formats: "audio",
|
|
147
192
|
selected: function (file, response) {
|
|
@@ -149,8 +194,8 @@ function load_upload_audio_field(dom) {
|
|
|
149
194
|
}
|
|
150
195
|
});
|
|
151
196
|
}
|
|
152
|
-
function load_upload_file_field(
|
|
153
|
-
var $input = $(
|
|
197
|
+
function load_upload_file_field(thiss) {
|
|
198
|
+
var $input = $(thiss).prev();
|
|
154
199
|
$.fn.upload_filemanager({
|
|
155
200
|
formats: $input.data("formats") ? $input.data("formats") : "",
|
|
156
201
|
selected: function (file, response) {
|
|
@@ -158,8 +203,17 @@ function load_upload_file_field(dom) {
|
|
|
158
203
|
}
|
|
159
204
|
});
|
|
160
205
|
}
|
|
161
|
-
function
|
|
162
|
-
var $input = $(
|
|
206
|
+
function load_upload_private_file_field(thiss) {
|
|
207
|
+
var $input = $(thiss).prev();
|
|
208
|
+
$.fn.upload_filemanager({
|
|
209
|
+
formats: $input.data("formats") ? $input.data("formats") : "",
|
|
210
|
+
selected: function (file, response) {
|
|
211
|
+
$input.val(file.url.split('?file=')[1].replace(/%2/g, '/'));
|
|
212
|
+
},
|
|
213
|
+
private: true
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
function load_upload_image_field($input) {
|
|
163
217
|
$.fn.upload_filemanager({
|
|
164
218
|
formats: "image",
|
|
165
219
|
dimension: $input.attr("data-dimension"),
|
|
@@ -170,8 +224,8 @@ function load_upload_image_field(dom) {
|
|
|
170
224
|
}
|
|
171
225
|
});
|
|
172
226
|
}
|
|
173
|
-
function load_upload_video_field(
|
|
174
|
-
var $input = $(
|
|
227
|
+
function load_upload_video_field(thiss) {
|
|
228
|
+
var $input = $(thiss).prev();
|
|
175
229
|
$.fn.upload_filemanager({
|
|
176
230
|
formats: "video",
|
|
177
231
|
selected: function (file, response) {
|
|
@@ -19,7 +19,9 @@ jQuery(function(){
|
|
|
19
19
|
/****************** form validations ************/
|
|
20
20
|
// panel can be a object: $("#my_form")
|
|
21
21
|
// if panel is null, then this will be replaced by body
|
|
22
|
-
|
|
22
|
+
// args: {validate_settings}
|
|
23
|
+
var init_form_validations = function (form, args) {
|
|
24
|
+
args = args || {};
|
|
23
25
|
// slug management
|
|
24
26
|
// you need to add class no_translate to avoid translations in slugs
|
|
25
27
|
(form ? form : $('#admin_content')).find('input.slug').each(function () {
|
|
@@ -54,7 +56,7 @@ var init_form_validations = function (form) {
|
|
|
54
56
|
$form.find('.translatable').Translatable();
|
|
55
57
|
}
|
|
56
58
|
}).filter(".validate").each(function () {
|
|
57
|
-
$(this).validate()
|
|
59
|
+
$(this).validate(args['validate_settings'])
|
|
58
60
|
});
|
|
59
61
|
};
|
|
60
62
|
|
|
@@ -38,7 +38,7 @@ jQuery(function($){
|
|
|
38
38
|
var splitted = text.split('<!--:-->');
|
|
39
39
|
for(var i in splitted){
|
|
40
40
|
var str = splitted[i];
|
|
41
|
-
var m_atch = str.trim().match(/^<!--:([\w]{2,5})/);
|
|
41
|
+
var m_atch = str.trim().match(/^<!--:([\w||-]{2,5})/);
|
|
42
42
|
if(m_atch && m_atch.length == 2){
|
|
43
43
|
m_atch[1] = m_atch[1].replace("--", "")
|
|
44
44
|
translations_per_locale[m_atch[1]] = str.replace("<!--:"+m_atch[1]+"-->", "")
|
|
@@ -110,4 +110,4 @@ jQuery(function($){
|
|
|
110
110
|
});
|
|
111
111
|
return this;
|
|
112
112
|
}
|
|
113
|
-
});
|
|
113
|
+
});
|
|
@@ -6,7 +6,7 @@ jQuery(function($){
|
|
|
6
6
|
$content_fields.sortable({
|
|
7
7
|
handle: ".panel-sortable"
|
|
8
8
|
});
|
|
9
|
-
|
|
9
|
+
var slugger_count = $content_fields.children().length;
|
|
10
10
|
cama_custom_field_set_slug();
|
|
11
11
|
|
|
12
12
|
$("#content-items-default > a", panel).click(function(){
|
|
@@ -14,10 +14,12 @@ jQuery(function($){
|
|
|
14
14
|
showLoading();
|
|
15
15
|
$.post(href, function(html){
|
|
16
16
|
hideLoading();
|
|
17
|
-
var li = '<li class="item">' + html + '</li>';
|
|
18
|
-
$content_fields.append(li)
|
|
19
|
-
cama_custom_field_set_slug();
|
|
20
|
-
|
|
17
|
+
var li = $('<li class="item">' + html + '</li>');
|
|
18
|
+
$content_fields.append(li);
|
|
19
|
+
cama_custom_field_set_slug(li);
|
|
20
|
+
var title_field = li.find("input.text-title");
|
|
21
|
+
title_field.val(title_field.val() + '-' + (slugger_count ++));
|
|
22
|
+
title_field.trigger("keyup");
|
|
21
23
|
$('[data-toggle="tooltip"], a[title!=""]', $content_fields).tooltip();
|
|
22
24
|
});
|
|
23
25
|
return false;
|
|
@@ -52,8 +54,8 @@ jQuery(function($){
|
|
|
52
54
|
$('#select_assign_group_caption', panel).val(option.parent('optgroup').attr("label") + ': ' + option.text());
|
|
53
55
|
}).val(group_class_name).trigger('change');
|
|
54
56
|
|
|
55
|
-
function cama_custom_field_set_slug(){
|
|
56
|
-
$('.text-slug:not(.runned)', panel).each(function(){
|
|
57
|
+
function cama_custom_field_set_slug(_panel){
|
|
58
|
+
$('.text-slug:not(.runned)', _panel || panel).each(function(){
|
|
57
59
|
var $parent = $(this).parents('.panel-item');
|
|
58
60
|
var $label = $parent.find('.span-title');
|
|
59
61
|
$(this).slugify($parent.find('.text-title'), {
|