camaleon_cms 0.2.1 → 1.0
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 +266 -0
- data/app/apps/plugins/attack/config/config.json +1 -1
- data/app/apps/plugins/contact_form/config/config.json +1 -1
- data/app/apps/plugins/contact_form/contact_form_html_helper.rb +15 -10
- data/app/apps/plugins/contact_form/front_controller.rb +1 -0
- data/app/apps/plugins/contact_form/views/admin_forms/edit.html.erb +1 -2
- data/app/apps/plugins/contact_form/views/admin_forms/index.html.erb +1 -1
- data/app/apps/plugins/contact_form/views/admin_forms/responses.html.erb +1 -1
- data/app/apps/plugins/contact_form/views/forms_shorcode.html.erb +6 -6
- data/app/apps/plugins/front_cache/config/config.json +1 -1
- data/app/apps/plugins/front_cache/views/admin/settings.html.erb +1 -1
- data/app/apps/plugins/visibility_post/config/config.json +1 -1
- data/app/apps/themes/camaleon_first/assets/css/style-ver.css.scss +59 -32
- data/app/apps/themes/camaleon_first/views/layouts/index.html.erb +2 -2
- data/app/apps/themes/default/assets/css/style.css.scss +3 -0
- data/app/apps/themes/default/views/category.html.erb +1 -1
- data/app/apps/themes/default/views/post_tag.html.erb +1 -1
- data/app/apps/themes/default/views/post_type.html.erb +1 -1
- data/app/apps/themes/default/views/search.html.erb +1 -1
- data/app/apps/themes/new/views/category.html.erb +1 -1
- data/app/apps/themes/new/views/layouts/index.html.erb +2 -2
- data/app/apps/themes/new/views/post_tag.html.erb +1 -1
- data/app/apps/themes/new/views/post_type.html.erb +1 -1
- data/app/apps/themes/new/views/search.html.erb +1 -1
- data/app/assets/{stylesheets/admin/bootstrap/images → images/admin}/glyphicons-halflings.png +0 -0
- data/app/assets/javascripts/admin/actions.js +12 -205
- data/app/assets/javascripts/admin/admin-basic-manifest.js +3 -0
- data/app/assets/javascripts/admin/admin-manifest.js +14 -4
- data/app/assets/javascripts/admin/custom_fields.js +4 -2
- data/app/assets/javascripts/admin/data.js +49 -20
- data/app/assets/javascripts/admin/elfinder/upload_elfinder.js +4 -4
- data/app/assets/javascripts/admin/grid-editor.js +390 -113
- data/app/assets/javascripts/admin/i18n.js +22 -0
- data/app/assets/javascripts/admin/jquery.validate.js +2 -54
- data/app/assets/javascripts/admin/{core.js → libraries.js} +92 -76
- data/app/assets/javascripts/admin/login_manifest.js +0 -3
- data/app/assets/javascripts/admin/lte/app.js +758 -0
- data/app/assets/javascripts/admin/modal.js +76 -22
- data/app/assets/javascripts/admin/nav-menu.js +98 -39
- data/app/assets/javascripts/admin/post.js +28 -29
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/content.min.css.scss +1 -1
- data/app/assets/javascripts/admin/tinymce/tinymce.min.js +11 -11
- data/app/assets/javascripts/admin/translator.js +9 -7
- data/app/assets/javascripts/admin/widgets.js +1 -0
- data/app/assets/stylesheets/admin/admin-basic-manifest.css +15 -0
- data/app/assets/stylesheets/admin/admin-manifest.css +7 -11
- data/app/assets/stylesheets/admin/bootstrap-datepicker.css.scss +472 -0
- data/app/assets/stylesheets/admin/bootstrap-datetimepicker.css.scss +339 -0
- data/app/assets/stylesheets/admin/colorpicker.css.scss +95 -0
- data/app/assets/stylesheets/admin/custom_admin.css.scss +160 -0
- data/app/assets/stylesheets/admin/elfinder-manifest.css +1 -1
- data/app/assets/stylesheets/admin/grid-editor.css.scss +14 -299
- data/app/assets/stylesheets/admin/lte/admin.css.scss +4747 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-black-light.css +176 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-black.css +154 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-blue-light.css +167 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-blue.css +142 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-green-light.css +156 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-green.css +134 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-purple-light.css +156 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-purple.css +134 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-red-light.css +156 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-red.css +134 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-yellow-light.css +156 -0
- data/app/assets/stylesheets/admin/lte/skins/skin-yellow.css +134 -0
- data/app/assets/stylesheets/admin/nav-menu.css.scss +33 -0
- data/app/controllers/admin/appearances/nav_menus_controller.rb +13 -10
- data/app/controllers/admin/appearances/themes_controller.rb +1 -2
- data/app/controllers/admin/appearances_controller.rb +0 -4
- data/app/controllers/admin/categories_controller.rb +9 -15
- data/app/controllers/admin/comments_controller.rb +8 -14
- data/app/controllers/admin/grid_editor_controller.rb +55 -0
- data/app/controllers/admin/installers_controller.rb +1 -1
- data/app/controllers/admin/media_controller.rb +1 -3
- data/app/controllers/admin/plugins_controller.rb +2 -2
- data/app/controllers/admin/post_tags_controller.rb +9 -18
- data/app/controllers/admin/posts/drafts_controller.rb +1 -9
- data/app/controllers/admin/posts_controller.rb +12 -15
- data/app/controllers/admin/sessions_controller.rb +6 -7
- data/app/controllers/admin/settings/custom_fields_controller.rb +4 -9
- data/app/controllers/admin/settings/post_types_controller.rb +6 -16
- data/app/controllers/admin/settings/sites_controller.rb +5 -7
- data/app/controllers/admin/settings_controller.rb +0 -4
- data/app/controllers/admin/user_roles_controller.rb +8 -8
- data/app/controllers/admin/users_controller.rb +8 -9
- data/app/controllers/admin_controller.rb +4 -5
- data/app/controllers/apps/plugins_admin_controller.rb +3 -3
- data/app/controllers/apps/plugins_front_controller.rb +2 -2
- data/app/controllers/apps/themes_admin_controller.rb +2 -2
- data/app/controllers/apps/themes_front_controller.rb +2 -2
- data/app/controllers/camaleon_controller.rb +0 -1
- data/app/controllers/concerns/frontend_concern.rb +1 -2
- data/app/controllers/frontend_controller.rb +25 -9
- data/app/decorators/category_decorator.rb +0 -1
- data/app/decorators/custom_field_decorator.rb +0 -1
- data/app/decorators/custom_fields_concern.rb +9 -3
- data/app/decorators/post_comment_decorator.rb +0 -1
- data/app/decorators/post_decorator.rb +10 -4
- data/app/decorators/post_tag_decorator.rb +0 -1
- data/app/decorators/post_type_decorator.rb +0 -1
- data/app/decorators/site_decorator.rb +35 -11
- data/app/decorators/term_taxonomy_decorator.rb +1 -3
- data/app/decorators/theme_decorator.rb +0 -1
- data/app/decorators/user_decorator.rb +7 -5
- data/app/decorators/widget_decorator.rb +0 -1
- data/app/helpers/admin/application_helper.rb +14 -0
- data/app/helpers/admin/menus_helper.rb +8 -8
- data/app/helpers/camaleon_helper.rb +10 -3
- data/app/helpers/captcha_helper.rb +2 -2
- data/app/helpers/frontend/application_helper.rb +0 -1
- data/app/helpers/frontend/nav_menu_helper.rb +2 -1
- data/app/helpers/frontend/seo_helper.rb +1 -2
- data/app/helpers/frontend/site_helper.rb +4 -4
- data/app/helpers/hooks_helper.rb +2 -5
- data/app/helpers/html_helper.rb +9 -7
- data/app/helpers/plugins_helper.rb +34 -8
- data/app/helpers/session_helper.rb +1 -2
- data/app/helpers/short_code_helper.rb +91 -10
- data/app/helpers/site_helper.rb +17 -8
- data/app/helpers/theme_helper.rb +34 -7
- data/app/helpers/uploader_helper.rb +6 -2
- data/app/mailers/html_mailer.rb +15 -6
- data/app/models/category.rb +2 -1
- data/app/models/concerns/custom_fields_read.rb +14 -3
- data/app/models/concerns/metas.rb +7 -4
- data/app/models/custom_field_group.rb +3 -0
- data/app/models/{concerns/metas_saved.rb → grid_template.rb} +7 -2
- data/app/models/meta.rb +0 -1
- data/app/models/nav_menu.rb +15 -1
- data/app/models/nav_menu_item.rb +10 -0
- data/app/models/post.rb +100 -6
- data/app/models/post_comment.rb +6 -0
- data/app/models/post_default.rb +9 -8
- data/app/models/post_relationship.rb +2 -0
- data/app/models/post_type.rb +36 -24
- data/app/models/site.rb +7 -16
- data/app/models/term_taxonomy.rb +3 -2
- data/app/models/theme.rb +5 -0
- data/app/models/widget/assigned.rb +3 -2
- data/app/views/admin/appearances/nav_menus/_custom_fields.html.erb +6 -0
- data/app/views/admin/appearances/{_external_menu.html.erb → nav_menus/_external_menu.html.erb} +8 -10
- data/app/views/admin/appearances/nav_menus/_menu_form.html.erb +35 -0
- data/app/views/admin/appearances/nav_menus/_menu_list.html.erb +22 -0
- data/app/views/admin/appearances/nav_menus/index.html.erb +110 -0
- data/app/views/admin/appearances/themes/index.html.erb +4 -3
- data/app/views/admin/appearances/widgets/main/_sidebar.html.erb +29 -0
- data/app/views/admin/appearances/widgets/main/form.html.erb +1 -1
- data/app/views/admin/appearances/widgets/main/index.html.erb +19 -41
- data/app/views/admin/categories/edit.html.erb +2 -6
- data/app/views/admin/categories/index.html.erb +7 -11
- data/app/views/admin/comments/form.html.erb +4 -7
- data/app/views/admin/comments/index.html.erb +24 -41
- data/app/views/admin/comments/reply.html.erb +9 -10
- data/app/views/admin/grid_editor/form.html.erb +31 -0
- data/app/views/admin/grid_editor/index.html.erb +29 -0
- data/app/views/admin/media/index.html.erb +3 -15
- data/app/views/admin/plugins/_plugins_list.html.erb +1 -2
- data/app/views/admin/post_tags/edit.html.erb +2 -6
- data/app/views/admin/post_tags/index.html.erb +3 -8
- data/app/views/admin/posts/_sidebar.html.erb +136 -0
- data/app/views/admin/posts/form.html.erb +87 -281
- data/app/views/admin/posts/index.html.erb +89 -104
- data/app/views/admin/sessions/forgot.html.erb +7 -13
- data/app/views/admin/sessions/login.html.erb +21 -11
- data/app/views/admin/sessions/register.html.erb +3 -6
- data/app/views/admin/settings/custom_fields/_meta_data.html.erb +1 -1
- data/app/views/admin/settings/custom_fields/_render.html.erb +6 -14
- data/app/views/admin/settings/custom_fields/fields/audio.html.erb +1 -1
- data/app/views/admin/settings/custom_fields/fields/field_attrs.html.erb +3 -5
- data/app/views/admin/settings/custom_fields/fields/file.html.erb +1 -1
- data/app/views/admin/settings/custom_fields/fields/image.html.erb +1 -1
- data/app/views/admin/settings/custom_fields/fields/posts.html.erb +1 -1
- data/app/views/admin/settings/custom_fields/fields/select.html.erb +1 -1
- data/app/views/admin/settings/custom_fields/fields/users.html.erb +1 -1
- data/app/views/admin/settings/custom_fields/fields/video.html.erb +1 -1
- data/app/views/admin/settings/custom_fields/form.html.erb +11 -9
- data/app/views/admin/settings/custom_fields/get_items.html.erb +3 -6
- data/app/views/admin/settings/custom_fields/index.html.erb +3 -10
- data/app/views/admin/settings/languages.html.erb +2 -10
- data/app/views/admin/settings/post_types/_form.html.erb +1 -1
- data/app/views/admin/settings/post_types/edit.html.erb +2 -6
- data/app/views/admin/settings/post_types/index.html.erb +4 -12
- data/app/views/admin/settings/site.html.erb +143 -149
- data/app/views/admin/settings/sites/form.html.erb +4 -19
- data/app/views/admin/settings/sites/index.html.erb +8 -9
- data/app/views/admin/taxonomy/index.html.erb +1 -1
- data/app/views/admin/user_roles/form.html.erb +2 -3
- data/app/views/admin/user_roles/index.html.erb +2 -8
- data/app/views/admin/users/form.html.erb +14 -9
- data/app/views/admin/users/index.html.erb +3 -8
- data/app/views/admin/users/profile_edit.html.erb +21 -14
- data/app/views/default_theme/custom_fields/audio.html.erb +3 -0
- data/app/views/default_theme/custom_fields/checkbox.html.erb +3 -0
- data/app/views/default_theme/custom_fields/checkboxes.html.erb +3 -0
- data/app/views/default_theme/custom_fields/colorpicker.html.erb +3 -0
- data/app/views/default_theme/custom_fields/date.html.erb +3 -0
- data/app/views/default_theme/custom_fields/editor.html.erb +3 -0
- data/app/views/default_theme/custom_fields/email.html.erb +3 -0
- data/app/views/default_theme/custom_fields/field_attrs.html.erb +3 -0
- data/app/views/default_theme/custom_fields/file.html.erb +3 -0
- data/app/views/default_theme/custom_fields/image.html.erb +3 -0
- data/app/views/default_theme/custom_fields/numeric.html.erb +3 -0
- data/app/views/default_theme/custom_fields/phone.html.erb +3 -0
- data/app/views/default_theme/custom_fields/posts.html.erb +3 -0
- data/app/views/default_theme/custom_fields/radio.html.erb +3 -0
- data/app/views/default_theme/custom_fields/select.html.erb +3 -0
- data/app/views/default_theme/custom_fields/select_eval.html.erb +3 -0
- data/app/views/default_theme/custom_fields/text_area.html.erb +3 -0
- data/app/views/default_theme/custom_fields/text_box.html.erb +3 -0
- data/app/views/default_theme/custom_fields/url.html.erb +3 -0
- data/app/views/default_theme/custom_fields/users.html.erb +3 -0
- data/app/views/default_theme/custom_fields/video.html.erb +3 -0
- data/app/views/default_theme/layouts/index.html.erb +2 -2
- data/app/views/default_theme/{post.html.erb → single.html.erb} +1 -1
- data/app/views/default_theme/{post.rss.builder → single.rss.builder} +0 -0
- data/app/views/layouts/admin.html.erb +35 -133
- data/app/views/layouts/admin/_flash_messages.html.erb +1 -15
- data/app/views/layouts/admin/_footer.html.erb +6 -0
- data/app/views/layouts/admin/_header.html.erb +51 -0
- data/app/views/layouts/admin/_sidebar.html.erb +21 -30
- data/app/views/layouts/admin/installer.html.erb +2 -2
- data/app/views/layouts/login.html.erb +15 -33
- data/config/initializers/active_record_extension.rb +14 -2
- data/config/initializers/assets.rb +21 -7
- data/config/initializers/page_caching.rb +1 -2
- data/config/locales/admin/en.yml +17 -9
- data/config/locales/admin/es.yml +8 -3
- data/config/locales/admin/it.yml +4 -2
- data/config/locales/admin/js.yml +147 -0
- data/config/routes/admin.rb +4 -4
- data/config/routes/frontend.rb +2 -2
- data/config/system.json +1 -0
- data/db/migrate/20150926095310_rename_column_posts.rb +18 -0
- data/lib/camaleon_cms.rb +1 -1
- data/lib/camaleon_cms/engine.rb +17 -2
- data/lib/camaleon_cms/version.rb +1 -1
- data/lib/generators/camaleon_cms/gem_plugin_generator.rb +122 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/controllers/plugins/my_plugin/admin_controller.rb +8 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/controllers/plugins/my_plugin/front_controller.rb +8 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/helpers/plugins/my_plugin/main_helper.rb +22 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/models/plugins/my_plugin/my_plugin.rb +12 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/views/plugins/my_plugin/admin/index.html.erb +2 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/views/plugins/my_plugin/front/index.html.erb +2 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/views/plugins/my_plugin/layouts/readme.txt +2 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/config/camaleon_plugin.json +21 -0
- data/lib/generators/camaleon_cms/install_generator.rb +1 -2
- data/lib/generators/camaleon_cms/install_template/plugin_routes.rb +1 -10
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/config/config.json +5 -5
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/main_helper.rb +6 -5
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/views/layouts/index.html.erb +2 -2
- data/lib/plugin_routes.rb +40 -2
- metadata +257 -22
- data/app/assets/stylesheets/admin/animate/animate.min.css +0 -6
- data/app/assets/stylesheets/admin/bootstrap/bootstrap-datetimepicker.css.scss +0 -339
- data/app/assets/stylesheets/admin/bootstrap/bootstrap.min.css +0 -5
- data/app/assets/stylesheets/admin/core.scss +0 -349
- data/app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.eot +0 -0
- data/app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.svg +0 -1831
- data/app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.ttf +0 -0
- data/app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.woff +0 -0
- data/app/assets/stylesheets/admin/nav-menu.css +0 -54
- data/app/assets/stylesheets/admin/theme-default.scss +0 -8462
- data/app/models/concerns/site_public.rb +0 -23
- data/app/views/admin/appearances/menu.html.erb +0 -199
- data/lib/Gemfile +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e69367fceac8dd2ca7e29de702eb29905911505
|
4
|
+
data.tar.gz: cbc634628dbce5af53bcc9aebdb10c464dfd811b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19395c1a52bd313b6e4741a4a7ca6450f2da54fbb486be7b44c26a7153310daf72a386394c0a0348e0b1d2542a891226941c17e29a9bad8fc04d782dd4527b7b
|
7
|
+
data.tar.gz: f9589b0bf5a8e05f870eac03813db2c8c6cb208db52c0d4780c59b56c5f8f8524ed011f00d8fac62946dfd0fe626d0e3de14dc218551a0502dd406c43ac9ee0f
|
data/README.md
ADDED
@@ -0,0 +1,266 @@
|
|
1
|
+
![](https://img.shields.io/badge/Rails-4%2B-green.svg)
|
2
|
+
![](https://img.shields.io/badge/Ruby-1.9.3%2B-green.svg)
|
3
|
+
![](https://img.shields.io/badge/Mysql-100%-green.svg)
|
4
|
+
![](https://img.shields.io/badge/Sqlite-100%-green.svg)
|
5
|
+
![](https://img.shields.io/badge/Postgres-100%-green.svg)
|
6
|
+
![](https://img.shields.io/badge/Tests-In_Progress-red.svg)
|
7
|
+
![](https://img.shields.io/badge/Docs-90%-orange.svg)
|
8
|
+
![](https://img.shields.io/badge/Support-Inmediate-green.svg)
|
9
|
+
|
10
|
+
[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/owen2345/Camaleon-CMS-Sample)
|
11
|
+
# CAMALEON CMS
|
12
|
+
![](http://camaleon.tuzitio.com/media/132/logo2.png)
|
13
|
+
|
14
|
+
# Requirements
|
15
|
+
* Rails 4.1+
|
16
|
+
* MySQL 5+ or SQlite or PostgreSQL
|
17
|
+
* Ruby 1.9.3+
|
18
|
+
* Imagemagick
|
19
|
+
|
20
|
+
# Installation
|
21
|
+
* Install Ruby on Rails 4.1+
|
22
|
+
[Visit here.](http://railsapps.github.io/installing-rails.html)
|
23
|
+
* Create your rails project
|
24
|
+
|
25
|
+
```
|
26
|
+
rails new my_project
|
27
|
+
```
|
28
|
+
* Add the gem in your Gemfile
|
29
|
+
|
30
|
+
```
|
31
|
+
gem 'camaleon_cms', '0.2.1' # if you want the previous stable version
|
32
|
+
gem 'camaleon_cms' # if you want the latest version (1.0)
|
33
|
+
```
|
34
|
+
* Install the gem
|
35
|
+
|
36
|
+
```
|
37
|
+
bundle install # bundle update if you have previous version installed
|
38
|
+
```
|
39
|
+
* Install the CMS (This will copy some basic templates and plugins in your project)
|
40
|
+
|
41
|
+
```
|
42
|
+
rails generate camaleon_cms:install
|
43
|
+
```
|
44
|
+
* Install required Gems for CMS and basic plugins
|
45
|
+
|
46
|
+
```
|
47
|
+
bundle install
|
48
|
+
```
|
49
|
+
* Create database structure
|
50
|
+
|
51
|
+
```
|
52
|
+
rake db:migrate
|
53
|
+
```
|
54
|
+
* Start your server
|
55
|
+
|
56
|
+
```
|
57
|
+
rails server # and then go to your browser http://localhost:3000/
|
58
|
+
```
|
59
|
+
|
60
|
+
# Migrating from 0.2.x or earlier?
|
61
|
+
|
62
|
+
1. Install camaleon as a gem as stated above or run `bundle update 'camaleon_cms'`
|
63
|
+
1. Remove `lib/Gemfile_camaleon`
|
64
|
+
|
65
|
+
```bash
|
66
|
+
rm lib/Gemfile_camaleon
|
67
|
+
```
|
68
|
+
1. Install gems
|
69
|
+
|
70
|
+
```bash
|
71
|
+
bundle install
|
72
|
+
```
|
73
|
+
1. Update `lib/plugin_routes.rb`
|
74
|
+
|
75
|
+
```bash
|
76
|
+
rails generate camaleon_cms:install
|
77
|
+
```
|
78
|
+
1. Start/restart Rails
|
79
|
+
|
80
|
+
```bash
|
81
|
+
rails server
|
82
|
+
```
|
83
|
+
|
84
|
+
# Camaleon CMS (It adapts to your needs)
|
85
|
+
|
86
|
+
Camaleon CMS is a dynamic and advanced content management system based on Ruby on Rails 4 and Ruby 1.9.3+. This CMS is an alternative to wordpress for Ruby on Rails developers to manage advanced contents easily.
|
87
|
+
Camaleon CMS is a flexible manager where you can build your custom content structure without coding anything by custom fields and custom contents type.
|
88
|
+
|
89
|
+
To download or publish themes go to themes store:
|
90
|
+
http://camaleon.tuzitio.com/store/themes
|
91
|
+
|
92
|
+
To download or publish plugins go to plugins store:
|
93
|
+
http://camaleon.tuzitio.com/store/plugins
|
94
|
+
|
95
|
+
## Camaleon CMS is FREE and Open source
|
96
|
+
It was released on July, 2015 and tested previously with more than 20 projects by 6 months and on august 22, 2015 was published as a gem.
|
97
|
+
|
98
|
+
![](http://camaleon.tuzitio.com/media/132/multi-language.png)
|
99
|
+
|
100
|
+
## With Camaleon you can do:
|
101
|
+
* Multiples sites in the same installation
|
102
|
+
* Multilanguage sites
|
103
|
+
* Extend or customize the functionalities by plugins
|
104
|
+
* Manage your content visualization by themes
|
105
|
+
* Advanced User roles
|
106
|
+
* Other features:
|
107
|
+
- Shortcodes
|
108
|
+
- Widgets
|
109
|
+
- Drag and Drop / Sortable / Multi level menus
|
110
|
+
- Templates for pages
|
111
|
+
- Easy migration from wordpress
|
112
|
+
|
113
|
+
## Some features are:
|
114
|
+
* Easy administration
|
115
|
+
Camaleon CMS permit you to adapt the CMS to all your needs and not you adapt to the CMS.
|
116
|
+
* Security
|
117
|
+
- Remote code execution
|
118
|
+
- SQL injections
|
119
|
+
- Advanced sessions security
|
120
|
+
- Cross Site Scripting
|
121
|
+
- Control of abusive requests
|
122
|
+
- Cross-Site Request Forgery
|
123
|
+
* Site Speed
|
124
|
+
Camaleon CMS include a lot of cache strategies to optimize the site access velocity:
|
125
|
+
- Cache contents
|
126
|
+
- Cache queries
|
127
|
+
- Manifests (compress and join asset files)
|
128
|
+
Customize your content for Desktop, Mobile and Tablet
|
129
|
+
* SEO & HTML5
|
130
|
+
- Automatic Sitemap generations
|
131
|
+
- Seo Configuration
|
132
|
+
- Seo for social media
|
133
|
+
- Customize your content for Desktop, Mobile and Tablet
|
134
|
+
- All generated content is compatible with HTML5
|
135
|
+
|
136
|
+
## Camaleon CMS come with basic and important plugins like:
|
137
|
+
* Ecommerce
|
138
|
+
* Visibility content
|
139
|
+
* Web attack control
|
140
|
+
* Contact forms
|
141
|
+
* Cache content
|
142
|
+
* Content reorder
|
143
|
+
* many others [here.](https://github.com/owen2345/Camaleon-CMS-Sample)
|
144
|
+
|
145
|
+
## Demonstration
|
146
|
+
* [Camaleon Server (current version)](http://camaleon.tuzitio.com/plugins/demo_manage/)
|
147
|
+
* [Deploy in Heroku](https://heroku.com/deploy?template=https://github.com/owen2345/Camaleon-CMS-Sample)
|
148
|
+
|
149
|
+
## Support
|
150
|
+
If you have problems, please enter an issue [here.](https://github.com/owen2345/camaleon-cms/issues)
|
151
|
+
If you need support, need some extra functionality or need plugins, please contact us on:
|
152
|
+
* Site: http://camaleon.tuzitio.com/
|
153
|
+
* Email: owenperedo@gmail.com
|
154
|
+
* Skype: owen-2345
|
155
|
+
|
156
|
+
## Author
|
157
|
+
Owen Peredo Diaz
|
158
|
+
|
159
|
+
## License
|
160
|
+
http://camaleon.tuzitio.com/license.html/
|
161
|
+
|
162
|
+
## Coming soon
|
163
|
+
* Documentation and Videos
|
164
|
+
* Create more basic plugins
|
165
|
+
|
166
|
+
## Contributing
|
167
|
+
* Fork it.
|
168
|
+
* Create a branch (git checkout -b my_feature_branch)
|
169
|
+
* Commit your changes (git commit -am "Added a sweet feature")
|
170
|
+
* Push to the branch (git push origin my_feature_branch)
|
171
|
+
* Create a pull request from your branch into master (Please be sure to provide enough detail for us to cipher what this change is doing)
|
172
|
+
|
173
|
+
Visit the web site for more information: http://camaleon.tuzitio.com/
|
174
|
+
|
175
|
+
## Version History
|
176
|
+
### 1.0
|
177
|
+
* new template for admin panel
|
178
|
+
* gem plugin generator
|
179
|
+
console:
|
180
|
+
rails g camaleon_cms:gem_plugin post_reorder
|
181
|
+
bundle install
|
182
|
+
visit frontend: http://localhost:3000/plugins/post_reorder/index
|
183
|
+
visit backend: http://localhost:3000/admin/plugins/post_reorder/index
|
184
|
+
Check here to publish your gem http://guides.rubygems.org/publishing/
|
185
|
+
* gem plugin support added
|
186
|
+
* changed post structure to improve sql query
|
187
|
+
* added custom field orderer
|
188
|
+
sort_by_field(...)
|
189
|
+
sample: Site.first.posts.sort_by_field("untitled-field-attributes", "desc")
|
190
|
+
* Added layouts selector like template selector
|
191
|
+
* Added support custom fields for menu items
|
192
|
+
Add any custom fields into menus and it will appear for each menu item (ideal to add icons or custom text for each menu)
|
193
|
+
* I18n(..) for javascript
|
194
|
+
You don't need to print your translations in html, put your translations in:
|
195
|
+
Sample:
|
196
|
+
``en:
|
197
|
+
admin:
|
198
|
+
js:
|
199
|
+
button
|
200
|
+
my_text: "asasa"
|
201
|
+
|
202
|
+
I18n("button.my_text")``
|
203
|
+
* hooks for email
|
204
|
+
* shortcodes support for content editor
|
205
|
+
* hook "user_update_more_actions" to add more action in user profile
|
206
|
+
* added slug render support for categories, post_types, post_tags. Check doc.
|
207
|
+
* fixed the default view "post.html.erb" into "single.html.erb". Check doc.
|
208
|
+
* added the_field!(..) and get_field!(..) method in custom fields to manage empty values. Check doc.
|
209
|
+
* added a control for logged users the_edit_link
|
210
|
+
* added the_author method for posts
|
211
|
+
* added the_categories method for sites
|
212
|
+
* added cama_edit_link(...) to create common edit links anywhere, this verify if current visitor was logged in
|
213
|
+
* added default shortcodes: load_libreries (load custom libraries), asset (render an url or image tag with the url), post_url (render an url for a post by id or slug)
|
214
|
+
* fixed shortcode to support shortcodes with almost the same name. sample: [asset] [asset_path]
|
215
|
+
* added method cama_strip_shortcodes(..) to strip all shortcodes
|
216
|
+
* added get_fields(..) to get multiple values of a custom field
|
217
|
+
* added filters for categories (.no_empty, .empty)
|
218
|
+
* Added method for post: set_summary(..)
|
219
|
+
* Added method for post: set_thumb(..)
|
220
|
+
* Added method for post: increment_visits!
|
221
|
+
* Added method for post: total_visits
|
222
|
+
* Added method for post: total_comments
|
223
|
+
* Added extra support values for method add_post(..) in post_type object
|
224
|
+
* Added shortcode "post_url"
|
225
|
+
Permit to generate the url of a post (add path='' to generate the path and not the full url,
|
226
|
+
add id='123' to use the POST ID,
|
227
|
+
add key='my_slug' to use the POST SLUG,
|
228
|
+
add link='true' to generate the full link,
|
229
|
+
add title='my title' text of the link (default post title),
|
230
|
+
add target='_blank' to open the link in a new window this is valid only if link is present),
|
231
|
+
sample: [post_url id='122' link=true target='_blank']
|
232
|
+
* Added shortcode "asset"
|
233
|
+
Permit to generate an asset url (
|
234
|
+
add file='' asset file path,
|
235
|
+
add as_path='true' to generate only the path and not the full url,
|
236
|
+
add class='my_class' to setup image class,
|
237
|
+
add style='height: 100px; width: 200px;...' to setup image style,
|
238
|
+
add image='true' to generate the image tag with this url),
|
239
|
+
sample: <img src=\"[asset as_path='true' file='themes/my_theme/assets/img/signature.png']\" /> or [asset image='true' file='themes/my_theme/assets/img/signature.png' style='height: 50px;']
|
240
|
+
* Added shortcode "custom_field"
|
241
|
+
Permit you to include your custom fields in anywhere.
|
242
|
+
key: slug or key of the custom_field
|
243
|
+
attrs: custom html attributes
|
244
|
+
render: (true) enable to render the custom field as html. (Sample text_field: <span>my_field_value</span>)
|
245
|
+
post_slug: (Optional, default current post) slug or key of a Post.
|
246
|
+
Sample1: [custom_field key='subtitle']
|
247
|
+
Sample2: [custom_field key='subtitle' post_slug='contact' render=true attrs='style=\"width: 50px;\"'] // return the custom field of page with slug = contact
|
248
|
+
|
249
|
+
### 0.2.1
|
250
|
+
* fixed sprockets problem: https://github.com/owen2345/camaleon-cms/issues/53
|
251
|
+
|
252
|
+
### 0.2.0
|
253
|
+
* datetimepicker
|
254
|
+
* Plugin files separated in two files, please update with: rails g camaleon_cms:install //and replace plugin_routes.rb
|
255
|
+
* Added the edit url for post/posttypes/categories
|
256
|
+
* Added plugin upgrade support
|
257
|
+
* Added confirm for disable/enable a plugin
|
258
|
+
|
259
|
+
### 0.1.10
|
260
|
+
* Fix rufus initializer
|
261
|
+
* Changed plugins documentation link
|
262
|
+
* Fixed current locale for editors
|
263
|
+
* Rails 4.1 support added
|
264
|
+
|
265
|
+
### 0.1.6
|
266
|
+
* Added Italian language support
|
@@ -28,7 +28,7 @@ module Plugins::ContactForm::ContactFormHtmlHelper
|
|
28
28
|
end
|
29
29
|
|
30
30
|
# form contact with css bootstrap
|
31
|
-
def form_element_bootstrap_object(form, object)
|
31
|
+
def form_element_bootstrap_object(form, object, values)
|
32
32
|
html = ""
|
33
33
|
|
34
34
|
object.each do |ob|
|
@@ -46,29 +46,31 @@ module Plugins::ContactForm::ContactFormHtmlHelper
|
|
46
46
|
field_options = ob[:field_options]
|
47
47
|
for_name = ob[:label].to_s
|
48
48
|
f_name = "fields[#{ob[:cid]}]"
|
49
|
+
cid = ob[:cid].to_sym
|
50
|
+
|
49
51
|
temp2 = ""
|
50
52
|
|
51
53
|
case ob[:field_type].to_s
|
52
54
|
when 'paragraph','textarea'
|
53
|
-
temp2 = "<textarea #{ob[:custom_attrs].to_attr_format} name=\"#{f_name}\" maxlength=\"#{field_options[:maxlength]}\" class=\"#{ob[:custom_class]} \"
|
55
|
+
temp2 = "<textarea #{ob[:custom_attrs].to_attr_format} name=\"#{f_name}\" maxlength=\"#{field_options[:maxlength]}\" class=\"#{ob[:custom_class]} \">#{values[cid]}</textarea>"
|
54
56
|
when 'radio'
|
55
|
-
temp2= form_select_multiple_bootstrap(ob, ob[:label], ob[:field_type])
|
57
|
+
temp2= form_select_multiple_bootstrap(ob, ob[:label], ob[:field_type],values)
|
56
58
|
when 'checkboxes'
|
57
|
-
temp2= form_select_multiple_bootstrap(ob, ob[:label], "checkbox")
|
59
|
+
temp2= form_select_multiple_bootstrap(ob, ob[:label], "checkbox",values)
|
58
60
|
when 'text', 'website', 'email'
|
59
61
|
class_type = ""
|
60
62
|
|
61
63
|
class_type = "railscf-field-#{ob[:field_type]}" if ob[:field_type]=="website"
|
62
64
|
class_type = "railscf-field-#{ob[:field_type]}" if ob[:field_type]=="email"
|
63
65
|
|
64
|
-
temp2= "<input #{ob[:custom_attrs].to_attr_format} type=\"#{ob[:field_type]}\" value=\"#{}\" name=\"#{f_name}\" class=\"#{ob[:custom_class]} #{class_type}\">"
|
66
|
+
temp2= "<input #{ob[:custom_attrs].to_attr_format} type=\"#{ob[:field_type]}\" value=\"#{values[cid]}\" name=\"#{f_name}\" class=\"#{ob[:custom_class]} #{class_type}\">"
|
65
67
|
when 'captcha'
|
66
68
|
temp2= captcha_tag(5, {}, {class: "#{ob[:custom_class]} field-captcha required"}.merge(ob[:custom_attrs]))
|
67
69
|
when 'file'
|
68
70
|
class_type = "railscf-field-#{ob[:field_type]}" if ob[:field_type]=="website"
|
69
|
-
temp2= "<input multiple=\"multiple\" type=\"file\" value=\"
|
71
|
+
temp2= "<input multiple=\"multiple\" type=\"file\" value=\"\" name=\"#{f_name}\" #{ob[:custom_attrs].to_attr_format} class=\"#{class_type} #{ob[:custom_class]}\">"
|
70
72
|
when 'dropdown'
|
71
|
-
temp2= form_select_multiple_bootstrap(ob, ob[:label], "select")
|
73
|
+
temp2= form_select_multiple_bootstrap(ob, ob[:label], "select",values)
|
72
74
|
else
|
73
75
|
end
|
74
76
|
r[:template] = r[:template].sub('[label ci]', for_name).sub('[ci]', temp2)
|
@@ -78,7 +80,7 @@ module Plugins::ContactForm::ContactFormHtmlHelper
|
|
78
80
|
html
|
79
81
|
end
|
80
82
|
|
81
|
-
def form_select_multiple_bootstrap(ob, title, type)
|
83
|
+
def form_select_multiple_bootstrap(ob, title, type, values)
|
82
84
|
|
83
85
|
options = ob[:field_options][:options]
|
84
86
|
include_other_option = ob[:field_options][:include_other_option]
|
@@ -86,8 +88,11 @@ module Plugins::ContactForm::ContactFormHtmlHelper
|
|
86
88
|
|
87
89
|
f_name = "fields[#{ob[:cid]}]"
|
88
90
|
f_label = ""
|
91
|
+
cid = ob[:cid].to_sym
|
89
92
|
html = ""
|
93
|
+
|
90
94
|
if type=="radio" || type=="checkbox"
|
95
|
+
|
91
96
|
other_input = (include_other_option)? "<div class=\"#{type} #{ob[:custom_class]}\"> <label for=\"#{ob[:cid]}\"><input id=\"#{ob[:cid]}-other\" type=\"#{type}\" name=\"#{title.downcase}[]\" class=\"\">Other <input type=\"text\" /></label></div>" : " "
|
92
97
|
|
93
98
|
else
|
@@ -103,7 +108,7 @@ module Plugins::ContactForm::ContactFormHtmlHelper
|
|
103
108
|
</label>
|
104
109
|
</div>"
|
105
110
|
else
|
106
|
-
html += "<option
|
111
|
+
html += "<option value=\"#{op[:label].downcase.gsub(" ", "_")}\" #{"selected" if "#{op[:label].downcase.gsub(" ", "_")}" == values[cid]} >#{op[:label]}</option>"
|
107
112
|
end
|
108
113
|
end
|
109
114
|
|
@@ -154,4 +159,4 @@ module Plugins::ContactForm::ContactFormHtmlHelper
|
|
154
159
|
html += "</td></tr></tbody></table>"
|
155
160
|
end
|
156
161
|
|
157
|
-
end
|
162
|
+
end
|
@@ -269,7 +269,7 @@
|
|
269
269
|
</div>
|
270
270
|
|
271
271
|
<script>
|
272
|
-
|
272
|
+
jQuery(function($){
|
273
273
|
var options = <%= raw (@form.value ).to_sym %>;
|
274
274
|
var settings = <%= raw (@form.settings ).to_sym %>;
|
275
275
|
|
@@ -371,5 +371,4 @@
|
|
371
371
|
});
|
372
372
|
|
373
373
|
});
|
374
|
-
|
375
374
|
</script>
|
@@ -54,7 +54,7 @@
|
|
54
54
|
</tbody>
|
55
55
|
</table>
|
56
56
|
<%= content_tag("div", raw(t('plugin.contact_form.msg_data_found_list')), class: "alert alert-warning") if @forms.empty? %>
|
57
|
-
<%=
|
57
|
+
<%= raw do_pagination(@forms) %>
|
58
58
|
</div>
|
59
59
|
</div>
|
60
60
|
<!-- END BASIC TABLE SAMPLE -->
|
@@ -50,7 +50,7 @@
|
|
50
50
|
</tbody>
|
51
51
|
</table>
|
52
52
|
<%= content_tag("div", raw("#{t('admin.message.data_found_list')}"), class: "alert alert-warning") if @forms.empty? %>
|
53
|
-
|
53
|
+
<%= raw do_pagination(@forms) %>
|
54
54
|
</div>
|
55
55
|
</div>
|
56
56
|
|
@@ -2,11 +2,12 @@
|
|
2
2
|
@form = current_site.contact_forms.where({slug: attributes['slug']}).first
|
3
3
|
if @form.present?
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
values_fields = (flash[:values].present?)? flash[:values].to_sym : {}
|
6
|
+
values = JSON.parse(@form.value).to_sym
|
7
|
+
settings = JSON.parse(@form.settings).to_sym
|
8
|
+
r = {form: @form, form_class: "railscf-form railscf-form-group", before_form: "", after_form: "", submit: "<div class='form-group'>
|
8
9
|
<button class='submit_btn btn btn-default pull-right' type='submit'>[submit_label]</button>
|
9
|
-
|
10
|
+
</div>"}
|
10
11
|
hooks_run("contact_form_render", r)
|
11
12
|
%>
|
12
13
|
<section>
|
@@ -14,9 +15,8 @@
|
|
14
15
|
<%= form_for @form, url: plugins_contact_form_save_form_path, html: {method: "post", class: r[:form_class], multipart: true} do |f| %>
|
15
16
|
|
16
17
|
<%= hidden_field_tag "id", @form.id %>
|
17
|
-
|
18
18
|
<%= render :partial => "flash_messages" %>
|
19
|
-
<%= raw form_element_bootstrap_object(r[:form], values[:fields]) %>
|
19
|
+
<%= raw form_element_bootstrap_object(r[:form], values[:fields], values_fields) %>
|
20
20
|
<% if values[:fields].present? %>
|
21
21
|
<%= raw r[:submit].sub('[submit_label]', settings[:railscf_form_button][:name_button])%>
|
22
22
|
<% end %>
|