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
data/lib/camaleon_cms/engine.rb
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'actionpack/page_caching'
|
3
|
+
require 'bcrypt'
|
4
|
+
require 'cancancan'
|
5
|
+
require 'draper'
|
6
|
+
require 'dynamic_sitemaps'
|
7
|
+
require 'el_finder'
|
8
|
+
require 'meta-tags'
|
9
|
+
require 'mini_magick'
|
10
|
+
require 'mobu'
|
11
|
+
require 'protected_attributes'
|
12
|
+
require 'rufus-scheduler'
|
13
|
+
require 'will_paginate'
|
14
|
+
require 'will_paginate-bootstrap'
|
15
|
+
|
1
16
|
$camaleon_engine_dir = File.expand_path("../../../", __FILE__)
|
2
17
|
require File.join($camaleon_engine_dir, "lib", "plugin_routes").to_s
|
3
18
|
Dir[File.join($camaleon_engine_dir, "lib", "ext", "**", "*.rb")].each{ |f| require f }
|
@@ -32,7 +47,7 @@ module CamaleonCms
|
|
32
47
|
# Dir[File.join(engine_dir, "config", "routes", "*.rb")].each{|r| app.routes_reloader.paths.unshift(r) }
|
33
48
|
|
34
49
|
# extra configuration for plugins
|
35
|
-
app.config.
|
50
|
+
app.config.eager_load_paths += %W(#{app.config.root}/app/apps/**/)
|
36
51
|
PluginRoutes.all_plugins.each{ |plugin| app.config.paths["db/migrate"] << File.join(plugin["path"], "migrate") if Dir.exist?(File.join(plugin["path"], "migrate")) }
|
37
52
|
|
38
53
|
# migrations checking
|
@@ -43,4 +58,4 @@ module CamaleonCms
|
|
43
58
|
end
|
44
59
|
end
|
45
60
|
end
|
46
|
-
end
|
61
|
+
end
|
data/lib/camaleon_cms/version.rb
CHANGED
@@ -0,0 +1,122 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
require 'securerandom'
|
3
|
+
module CamaleonCms
|
4
|
+
module Generators
|
5
|
+
class GemPluginGenerator < Rails::Generators::Base
|
6
|
+
source_root File.expand_path("../gem_plugin_template", __FILE__)
|
7
|
+
argument :plugin_name, :type => :string, :default => "my_plugin"
|
8
|
+
desc "This generator create all basic gem plugin structure."
|
9
|
+
|
10
|
+
def create_initializer_file
|
11
|
+
|
12
|
+
plugin_dir = Rails.root.join("plugins", get_plugin_name).to_s
|
13
|
+
plugin_app = File.join($camaleon_engine_dir, "lib", "generators", "camaleon_cms", "gem_plugin_#{get_plugin_name}")
|
14
|
+
FileUtils.rm_r(plugin_app) if Dir.exist?(plugin_app)
|
15
|
+
|
16
|
+
FileUtils.mkdir_p(plugin_dir)
|
17
|
+
system("cd #{Rails.root}; rails plugin new plugins/#{get_plugin_name} --full")
|
18
|
+
|
19
|
+
FileUtils.cp_r(File.join($camaleon_engine_dir, "lib", "generators", "camaleon_cms", "gem_plugin_template"), plugin_app)
|
20
|
+
|
21
|
+
# tmp copy
|
22
|
+
helper_path = File.join(plugin_app, "app", "helpers", "plugins", get_plugin_name)
|
23
|
+
model_path = File.join(plugin_app, "app", "models", "plugins", get_plugin_name)
|
24
|
+
views_path = File.join(plugin_app, "app", "views", "plugins", get_plugin_name)
|
25
|
+
controller_path = File.join(plugin_app, "app", "controllers", "plugins", get_plugin_name)
|
26
|
+
FileUtils.mv(File.join(plugin_app, "app", "controllers", "plugins", "my_plugin"), controller_path) rescue nil
|
27
|
+
FileUtils.mv(File.join(plugin_app, "app", "helpers", "plugins", "my_plugin"), helper_path) rescue nil
|
28
|
+
FileUtils.mv(File.join(plugin_app, "app", "models", "plugins", "my_plugin"), model_path) rescue nil
|
29
|
+
FileUtils.mv(File.join(plugin_app, "app", "views", "plugins", "my_plugin"), views_path) rescue nil
|
30
|
+
FileUtils.mv(File.join(plugin_app, "app", "assets", "images", "plugins", "my_plugin"), File.join(plugin_app, "app", "assets", "images", "plugins", get_plugin_name)) rescue nil
|
31
|
+
FileUtils.mv(File.join(plugin_app, "app", "assets", "javascripts", "plugins", "my_plugin"), File.join(plugin_app, "app", "assets", "javascripts", "plugins", get_plugin_name)) rescue nil
|
32
|
+
FileUtils.mv(File.join(plugin_app, "app", "assets", "stylesheets", "plugins", "my_plugin"), File.join(plugin_app, "app", "assets", "stylesheets", "plugins", get_plugin_name)) rescue nil
|
33
|
+
|
34
|
+
# configuration
|
35
|
+
t = fix_text(File.read(File.join(plugin_app, "config", "camaleon_plugin.json")))
|
36
|
+
File.open(File.join(plugin_app, "config", "camaleon_plugin.json"), "w"){|f| f << t }
|
37
|
+
|
38
|
+
# helper
|
39
|
+
t = fix_text(File.read(File.join(helper_path, "main_helper.rb")))
|
40
|
+
File.open(File.join(helper_path, "main_helper.rb"), "w"){|f| f << t }
|
41
|
+
|
42
|
+
# controllers
|
43
|
+
t = fix_text(File.read(File.join(controller_path, "admin_controller.rb")))
|
44
|
+
File.open(File.join(controller_path, "admin_controller.rb"), "w"){|f| f << t }
|
45
|
+
t = fix_text(File.read(File.join(controller_path, "front_controller.rb")))
|
46
|
+
File.open(File.join(controller_path, "front_controller.rb"), "w"){|f| f << t }
|
47
|
+
|
48
|
+
# models
|
49
|
+
model_file = File.join(model_path, "my_plugin.rb")
|
50
|
+
t = fix_text(File.read(model_file))
|
51
|
+
File.open(model_file, "w"){|f| f << t }
|
52
|
+
FileUtils.mv(model_file, File.join(File.dirname(model_file), "#{get_plugin_name}.rb")) rescue nil
|
53
|
+
|
54
|
+
|
55
|
+
directory(plugin_app, plugin_dir)
|
56
|
+
gsub_file File.join(plugin_dir, "config", "routes.rb"), "end" do
|
57
|
+
"
|
58
|
+
scope '(:locale)', locale: /\#{PluginRoutes.all_locales}/, :defaults => { } do
|
59
|
+
# frontend
|
60
|
+
namespace :plugins do
|
61
|
+
namespace '#{get_plugin_name}' do
|
62
|
+
get 'index' => 'front#index'
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
#Admin Panel
|
68
|
+
scope 'admin', as: 'admin' do
|
69
|
+
namespace 'plugins' do
|
70
|
+
namespace '#{get_plugin_name}' do
|
71
|
+
get 'index' => 'admin#index'
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
# main routes
|
77
|
+
#scope '#{get_plugin_name}', module: 'plugins/#{get_plugin_name}/', as: '#{get_plugin_name}' do
|
78
|
+
# Here my routes for main routes
|
79
|
+
#end
|
80
|
+
end"
|
81
|
+
end
|
82
|
+
|
83
|
+
append_to_file Rails.root.join("Gemfile") do
|
84
|
+
"\n\ngem '#{get_plugin_name}', path: '#{plugin_dir}/'"
|
85
|
+
end
|
86
|
+
|
87
|
+
# destroy non used files
|
88
|
+
FileUtils.rm_r(plugin_app)
|
89
|
+
FileUtils.rm_r(File.join(plugin_dir, "app", "assets", "images", get_plugin_name))
|
90
|
+
FileUtils.rm_r(File.join(plugin_dir, "app", "assets", "javascripts", get_plugin_name))
|
91
|
+
FileUtils.rm_r(File.join(plugin_dir, "app", "assets", "stylesheets", get_plugin_name))
|
92
|
+
|
93
|
+
# remove TODO text from gem
|
94
|
+
gemspec_file = File.join(plugin_dir, "#{get_plugin_name}.gemspec")
|
95
|
+
t = File.read(gemspec_file).gsub("TODO", "")
|
96
|
+
File.open(gemspec_file, "w"){|f| f << t }
|
97
|
+
|
98
|
+
end
|
99
|
+
|
100
|
+
def fix_text(text = "")
|
101
|
+
text.gsub("pluginTitle", get_plugin_title).gsub("PluginClass", get_plugin_class).gsub("pluginKey", get_plugin_name)
|
102
|
+
end
|
103
|
+
|
104
|
+
def self.next_migration_number(dir)
|
105
|
+
Time.now.utc.strftime("%Y%m%d%H%M%S")
|
106
|
+
end
|
107
|
+
|
108
|
+
private
|
109
|
+
def get_plugin_name
|
110
|
+
plugin_name.underscore.singularize
|
111
|
+
end
|
112
|
+
|
113
|
+
def get_plugin_title
|
114
|
+
plugin_name.titleize
|
115
|
+
end
|
116
|
+
def get_plugin_class
|
117
|
+
get_plugin_name.classify
|
118
|
+
end
|
119
|
+
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
data/lib/generators/camaleon_cms/gem_plugin_template/app/helpers/plugins/my_plugin/main_helper.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
module Plugins::PluginClass::MainHelper
|
2
|
+
def self.included(klass)
|
3
|
+
# klass.helper_method [:my_helper_method] rescue "" # here your methods accessible from views
|
4
|
+
end
|
5
|
+
|
6
|
+
# here all actions on going to active
|
7
|
+
# you can run sql commands like this:
|
8
|
+
# results = ActiveRecord::Base.connection.execute(query);
|
9
|
+
# plugin: plugin model
|
10
|
+
def pluginKey_on_active(plugin)
|
11
|
+
end
|
12
|
+
|
13
|
+
# here all actions on going to inactive
|
14
|
+
# plugin: plugin model
|
15
|
+
def pluginKey_on_inactive(plugin)
|
16
|
+
end
|
17
|
+
|
18
|
+
# here all actions to upgrade for a new version
|
19
|
+
# plugin: plugin model
|
20
|
+
def pluginKey_on_upgrade(plugin)
|
21
|
+
end
|
22
|
+
end
|
data/lib/generators/camaleon_cms/gem_plugin_template/app/models/plugins/my_plugin/my_plugin.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# class Plugins::PluginClass::Models::PluginClass < ActiveRecord::Base
|
2
|
+
# attr_accessible :path, :browser_key
|
3
|
+
# belongs_to :site
|
4
|
+
|
5
|
+
# here create your models normally
|
6
|
+
# notice: your tables in database will be plugins_pluginKey in plural (check rails documentation)
|
7
|
+
# end
|
8
|
+
|
9
|
+
# here your default models customization
|
10
|
+
# Site.class_eval do
|
11
|
+
# has_many :pluginKey, class_name: "Plugins::PluginClass::Models::PluginClass"
|
12
|
+
# end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
{
|
2
|
+
"title": "pluginTitle",
|
3
|
+
"descr": "",
|
4
|
+
"version": "0.1",
|
5
|
+
"key": "pluginKey",
|
6
|
+
"helpers": [
|
7
|
+
"Plugins::PluginClass::MainHelper"
|
8
|
+
],
|
9
|
+
"hooks": {
|
10
|
+
"on_active": [
|
11
|
+
"pluginKey_on_active"
|
12
|
+
],
|
13
|
+
"on_inactive": [
|
14
|
+
"pluginKey_on_inactive"
|
15
|
+
],
|
16
|
+
"on_upgrade": [
|
17
|
+
"pluginKey_on_upgrade"
|
18
|
+
]
|
19
|
+
//here you can add all your hooks (read documentation)
|
20
|
+
}
|
21
|
+
}
|
@@ -9,7 +9,6 @@ module CamaleonCms
|
|
9
9
|
def create_initializer_file
|
10
10
|
copy_file "system.json", "config/system.json"
|
11
11
|
copy_file "plugin_routes.rb", "lib/plugin_routes.rb"
|
12
|
-
copy_file "../../../Gemfile", "lib/Gemfile_camaleon"
|
13
12
|
directory("apps", "app/apps")
|
14
13
|
append_to_file 'Gemfile' do
|
15
14
|
"\n\n#################### Camaleon CMS include all gems for plugins and themes #################### \nrequire './lib/plugin_routes' \ninstance_eval(PluginRoutes.draw_gems)"
|
@@ -17,4 +16,4 @@ module CamaleonCms
|
|
17
16
|
end
|
18
17
|
end
|
19
18
|
end
|
20
|
-
end
|
19
|
+
end
|
@@ -4,15 +4,6 @@ class PluginRoutes
|
|
4
4
|
def self.draw_gems
|
5
5
|
res = []
|
6
6
|
dirs = [] + Dir["#{apps_dir}/plugins/*"] + Dir["#{apps_dir}/themes/*"]
|
7
|
-
# recovering gem dependencies
|
8
|
-
if camaleon_gem = get_gem('camaleon_cms')
|
9
|
-
gem_file = File.join(camaleon_gem.gem_dir, "lib", "Gemfile")
|
10
|
-
res << File.read(gem_file).gsub("source 'https://rubygems.org'", "") if File.exist?(gem_file)
|
11
|
-
else
|
12
|
-
# recover cached gemfile
|
13
|
-
gem_file = File.join(apps_dir, "..", "..", "lib", "Gemfile_camaleon")
|
14
|
-
res << File.read(gem_file).gsub("source 'https://rubygems.org'", "") if File.exist?(gem_file)
|
15
|
-
end
|
16
7
|
|
17
8
|
dirs.each do |path|
|
18
9
|
next if [".", ".."].include?(path)
|
@@ -40,4 +31,4 @@ class PluginRoutes
|
|
40
31
|
rescue
|
41
32
|
Gem.available?(name)
|
42
33
|
end
|
43
|
-
end
|
34
|
+
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
{
|
2
2
|
"name" : "themeTitle",
|
3
3
|
"description" : "",
|
4
|
-
"thumb" : "
|
4
|
+
"thumb" : "images/image.png",
|
5
5
|
"helpers": [
|
6
6
|
"Themes::ThemeClass::MainHelper"
|
7
7
|
],
|
8
8
|
"hooks": {
|
9
|
-
"on_active": ["
|
10
|
-
"on_inactive": ["
|
11
|
-
"on_theme_settings": ["
|
9
|
+
"on_active": ["themeKey_on_install_theme"],
|
10
|
+
"on_inactive": ["themeKey_on_uninstall_theme"],
|
11
|
+
"on_theme_settings": ["themeKey_settings"]
|
12
12
|
//here all your hooks
|
13
13
|
}
|
14
|
-
}
|
14
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Themes::ThemeClass::MainHelper
|
2
2
|
def self.included(klass)
|
3
|
-
#klass.helper_method [:my_helper_method] rescue "" # here your methods accessible from views
|
3
|
+
# klass.helper_method [:my_helper_method] rescue "" # here your methods accessible from views
|
4
4
|
end
|
5
5
|
|
6
6
|
def themeKey_settings(theme)
|
@@ -9,17 +9,18 @@ module Themes::ThemeClass::MainHelper
|
|
9
9
|
# sample: theme.set_meta("my_key", params[:my_value])
|
10
10
|
end
|
11
11
|
|
12
|
+
# callback called after theme installed
|
12
13
|
def themeKey_on_install_theme(theme)
|
13
14
|
unless theme.get_field_groups.where(slug: "fields").any?
|
14
15
|
group = theme.add_field_group({name: "Main Settings", slug: "fields", description: ""})
|
15
16
|
group.add_field({"name"=>"Background color", "slug"=>"bg_color"},{field_key: "colorpicker"})
|
16
17
|
group.add_field({"name"=>"Links color", "slug"=>"links_color"},{field_key: "colorpicker"})
|
17
|
-
group.add_field({"name"=>"
|
18
|
+
group.add_field({"name"=>"Background image", "slug"=>"bg"},{field_key: "image"})
|
18
19
|
end
|
19
|
-
theme.set_meta("installed_at", Time.
|
20
|
+
theme.set_meta("installed_at", Time.current.to_s) # save a custom value
|
20
21
|
end
|
21
22
|
|
23
|
+
# callback executed after theme uninstalled
|
22
24
|
def themeKey_on_uninstall_theme(theme)
|
23
|
-
theme.destroy
|
24
25
|
end
|
25
|
-
end
|
26
|
+
end
|
@@ -9,7 +9,7 @@
|
|
9
9
|
<!-- END META SECTION -->
|
10
10
|
|
11
11
|
<%= stylesheet_link_tag theme_asset_path("css/main") %>
|
12
|
-
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.
|
12
|
+
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
|
13
13
|
<%= javascript_include_tag theme_asset_path("js/main.js") %>
|
14
14
|
<%= raw the_head %>
|
15
15
|
</head>
|
@@ -68,4 +68,4 @@
|
|
68
68
|
</div>
|
69
69
|
<!-- ./container -->
|
70
70
|
</body>
|
71
|
-
</html>
|
71
|
+
</html>
|
data/lib/plugin_routes.rb
CHANGED
@@ -231,7 +231,7 @@ class PluginRoutes
|
|
231
231
|
camaleon_gem = get_gem('camaleon_cms')
|
232
232
|
return [] if !camaleon_gem
|
233
233
|
r = cache_variable("all_plugins"); return r unless (r.nil? || r == [])
|
234
|
-
res =
|
234
|
+
res = get_gem_plugins
|
235
235
|
entries = [".", ".."]
|
236
236
|
(Dir["#{apps_dir}/plugins/*"] + Dir["#{camaleon_gem.gem_dir}/app/apps/plugins/*"]).each do |path|
|
237
237
|
entry = path.split("/").last
|
@@ -253,7 +253,7 @@ class PluginRoutes
|
|
253
253
|
camaleon_gem = get_gem('camaleon_cms')
|
254
254
|
return [] if !camaleon_gem
|
255
255
|
r = cache_variable("all_themes"); return r unless (r.nil? || r == [])
|
256
|
-
res =
|
256
|
+
res = get_gem_themes
|
257
257
|
entries = [".", ".."]
|
258
258
|
(Dir["#{apps_dir}/themes/*"] + Dir["#{camaleon_gem.gem_dir}/app/apps/themes/*"]).each do |path|
|
259
259
|
entry = path.split("/").last
|
@@ -276,6 +276,44 @@ class PluginRoutes
|
|
276
276
|
all_plugins+all_themes
|
277
277
|
end
|
278
278
|
|
279
|
+
# return all plugins registered as gems
|
280
|
+
def self.get_gem_plugins
|
281
|
+
entries = []
|
282
|
+
Gem::Specification.each do |gem|
|
283
|
+
path = gem.gem_dir
|
284
|
+
config = File.join(path, "config", "camaleon_plugin.json")
|
285
|
+
if File.exist?(config)
|
286
|
+
p = JSON.parse(File.read(config))
|
287
|
+
p = p.with_indifferent_access rescue p
|
288
|
+
p["key"] = gem.name
|
289
|
+
p["path"] = path
|
290
|
+
p["kind"] = "plugin"
|
291
|
+
p["gem_mode"] = true
|
292
|
+
entries << p
|
293
|
+
end
|
294
|
+
end
|
295
|
+
entries
|
296
|
+
end
|
297
|
+
|
298
|
+
# return all themes registered as gems
|
299
|
+
def self.get_gem_themes
|
300
|
+
entries = []
|
301
|
+
Gem::Specification.each do |gem|
|
302
|
+
path = gem.gem_dir
|
303
|
+
config = File.join(path, "config", "camaleon_theme.json")
|
304
|
+
if File.exist?(config)
|
305
|
+
p = JSON.parse(File.read(config))
|
306
|
+
p = p.with_indifferent_access rescue p
|
307
|
+
p["key"] = gem.name
|
308
|
+
p["path"] = path
|
309
|
+
p["kind"] = "theme"
|
310
|
+
p["gem_mode"] = true
|
311
|
+
entries << p
|
312
|
+
end
|
313
|
+
end
|
314
|
+
entries
|
315
|
+
end
|
316
|
+
|
279
317
|
# check if a gem is available or not
|
280
318
|
# Arguemnts:
|
281
319
|
# name: name of the gem
|
metadata
CHANGED
@@ -1,15 +1,197 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: camaleon_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0
|
4
|
+
version: '1.0'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Owen Peredo Diaz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
12
|
-
dependencies:
|
11
|
+
date: 2015-09-28 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: actionpack-page_caching
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bcrypt
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: cancancan
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.10'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.10'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: draper
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.3'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.3'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: dynamic_sitemaps
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: el_finder
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: meta-tags
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: mini_magick
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: mobu
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: protected_attributes
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rufus-scheduler
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: will_paginate
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: will_paginate-bootstrap
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
13
195
|
description: Camaleon CMS is a dynamic and advanced content management system based
|
14
196
|
on Ruby on Rails 4 as an alternative to Wordpress.
|
15
197
|
email:
|
@@ -18,6 +200,7 @@ executables: []
|
|
18
200
|
extensions: []
|
19
201
|
extra_rdoc_files: []
|
20
202
|
files:
|
203
|
+
- README.md
|
21
204
|
- Rakefile
|
22
205
|
- app/apps/plugins/attack/admin_controller.rb
|
23
206
|
- app/apps/plugins/attack/attack_helper.rb
|
@@ -168,6 +351,7 @@ files:
|
|
168
351
|
- app/assets/fonts/glyphicons-halflings-regular.svg
|
169
352
|
- app/assets/fonts/glyphicons-halflings-regular.ttf
|
170
353
|
- app/assets/fonts/glyphicons-halflings-regular.woff
|
354
|
+
- app/assets/images/admin/glyphicons-halflings.png
|
171
355
|
- app/assets/images/admin/no_image.jpg
|
172
356
|
- app/assets/images/bg-tree.jpeg
|
173
357
|
- app/assets/images/camaleon-dark.png
|
@@ -184,12 +368,12 @@ files:
|
|
184
368
|
- app/assets/images/loader.gif
|
185
369
|
- app/assets/images/users/no-image.jpg
|
186
370
|
- app/assets/javascripts/admin/actions.js
|
371
|
+
- app/assets/javascripts/admin/admin-basic-manifest.js
|
187
372
|
- app/assets/javascripts/admin/admin-manifest.js
|
188
373
|
- app/assets/javascripts/admin/bootstrap-colorpicker.js
|
189
374
|
- app/assets/javascripts/admin/bootstrap-datepicker.js
|
190
375
|
- app/assets/javascripts/admin/bootstrap-datetimepicker.min.js
|
191
376
|
- app/assets/javascripts/admin/bootstrap-select.js
|
192
|
-
- app/assets/javascripts/admin/core.js
|
193
377
|
- app/assets/javascripts/admin/custom_fields.js
|
194
378
|
- app/assets/javascripts/admin/data.js
|
195
379
|
- app/assets/javascripts/admin/elfinder-manifest.js
|
@@ -205,6 +389,7 @@ files:
|
|
205
389
|
- app/assets/javascripts/admin/form/cropper.min.js
|
206
390
|
- app/assets/javascripts/admin/form/jquery.form.js
|
207
391
|
- app/assets/javascripts/admin/grid-editor.js
|
392
|
+
- app/assets/javascripts/admin/i18n.js
|
208
393
|
- app/assets/javascripts/admin/it.js
|
209
394
|
- app/assets/javascripts/admin/jquery-sieve.js
|
210
395
|
- app/assets/javascripts/admin/jquery-ui.min.js
|
@@ -212,8 +397,10 @@ files:
|
|
212
397
|
- app/assets/javascripts/admin/jquery.slugify.js
|
213
398
|
- app/assets/javascripts/admin/jquery.tagsinput.min.js
|
214
399
|
- app/assets/javascripts/admin/jquery.validate.js
|
400
|
+
- app/assets/javascripts/admin/libraries.js
|
215
401
|
- app/assets/javascripts/admin/login.js.coffee
|
216
402
|
- app/assets/javascripts/admin/login_manifest.js
|
403
|
+
- app/assets/javascripts/admin/lte/app.js
|
217
404
|
- app/assets/javascripts/admin/modal.js
|
218
405
|
- app/assets/javascripts/admin/nav-menu.js
|
219
406
|
- app/assets/javascripts/admin/plugins.js
|
@@ -266,13 +453,13 @@ files:
|
|
266
453
|
- app/assets/javascripts/elfinder_front.js
|
267
454
|
- app/assets/javascripts/gibberish-aes.js
|
268
455
|
- app/assets/javascripts/jquery-1.11.3.min.js
|
456
|
+
- app/assets/stylesheets/admin/admin-basic-manifest.css
|
269
457
|
- app/assets/stylesheets/admin/admin-manifest.css
|
270
|
-
- app/assets/stylesheets/admin/
|
271
|
-
- app/assets/stylesheets/admin/bootstrap
|
272
|
-
- app/assets/stylesheets/admin/
|
273
|
-
- app/assets/stylesheets/admin/bootstrap/images/glyphicons-halflings.png
|
274
|
-
- app/assets/stylesheets/admin/core.scss
|
458
|
+
- app/assets/stylesheets/admin/bootstrap-datepicker.css.scss
|
459
|
+
- app/assets/stylesheets/admin/bootstrap-datetimepicker.css.scss
|
460
|
+
- app/assets/stylesheets/admin/colorpicker.css.scss
|
275
461
|
- app/assets/stylesheets/admin/cropper/cropper.min.css
|
462
|
+
- app/assets/stylesheets/admin/custom_admin.css.scss
|
276
463
|
- app/assets/stylesheets/admin/elfinder-manifest.css
|
277
464
|
- app/assets/stylesheets/admin/elfinder/elfinder-theme.scss
|
278
465
|
- app/assets/stylesheets/admin/elfinder/elfinder.css
|
@@ -292,10 +479,6 @@ files:
|
|
292
479
|
- app/assets/stylesheets/admin/elfinder/images/ui-bg_flat_75_ffffff_40x100.png
|
293
480
|
- app/assets/stylesheets/admin/elfinder/images/ui-bg_highlight-soft_75_cccccc_1x100.png
|
294
481
|
- app/assets/stylesheets/admin/elfinder/images/ui-icons_222222_256x240.png
|
295
|
-
- app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.eot
|
296
|
-
- app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.svg
|
297
|
-
- app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.ttf
|
298
|
-
- app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.woff
|
299
482
|
- app/assets/stylesheets/admin/form-builder/formbuilder.css
|
300
483
|
- app/assets/stylesheets/admin/grid-editor.css.scss
|
301
484
|
- app/assets/stylesheets/admin/img/bg.png
|
@@ -325,10 +508,22 @@ files:
|
|
325
508
|
- app/assets/stylesheets/admin/jquery/images/ui-icons_888888_256x240.png
|
326
509
|
- app/assets/stylesheets/admin/jquery/images/ui-icons_cd0a0a_256x240.png
|
327
510
|
- app/assets/stylesheets/admin/jquery/jquery-ui.scss
|
328
|
-
- app/assets/stylesheets/admin/
|
511
|
+
- app/assets/stylesheets/admin/lte/admin.css.scss
|
512
|
+
- app/assets/stylesheets/admin/lte/skins/skin-black-light.css
|
513
|
+
- app/assets/stylesheets/admin/lte/skins/skin-black.css
|
514
|
+
- app/assets/stylesheets/admin/lte/skins/skin-blue-light.css
|
515
|
+
- app/assets/stylesheets/admin/lte/skins/skin-blue.css
|
516
|
+
- app/assets/stylesheets/admin/lte/skins/skin-green-light.css
|
517
|
+
- app/assets/stylesheets/admin/lte/skins/skin-green.css
|
518
|
+
- app/assets/stylesheets/admin/lte/skins/skin-purple-light.css
|
519
|
+
- app/assets/stylesheets/admin/lte/skins/skin-purple.css
|
520
|
+
- app/assets/stylesheets/admin/lte/skins/skin-red-light.css
|
521
|
+
- app/assets/stylesheets/admin/lte/skins/skin-red.css
|
522
|
+
- app/assets/stylesheets/admin/lte/skins/skin-yellow-light.css
|
523
|
+
- app/assets/stylesheets/admin/lte/skins/skin-yellow.css
|
524
|
+
- app/assets/stylesheets/admin/nav-menu.css.scss
|
329
525
|
- app/assets/stylesheets/admin/nestable/jquery.nestable.css
|
330
526
|
- app/assets/stylesheets/admin/tageditor/jquery.tag-editor.css.scss
|
331
|
-
- app/assets/stylesheets/admin/theme-default.scss
|
332
527
|
- app/assets/stylesheets/admin/widgets.css.scss
|
333
528
|
- app/assets/stylesheets/bootstrap.min.css.scss
|
334
529
|
- app/assets/stylesheets/tinymce/plugins/youtubeIframe/css/style.css
|
@@ -366,6 +561,7 @@ files:
|
|
366
561
|
- app/controllers/admin/appearances_controller.rb
|
367
562
|
- app/controllers/admin/categories_controller.rb
|
368
563
|
- app/controllers/admin/comments_controller.rb
|
564
|
+
- app/controllers/admin/grid_editor_controller.rb
|
369
565
|
- app/controllers/admin/installers_controller.rb
|
370
566
|
- app/controllers/admin/media_controller.rb
|
371
567
|
- app/controllers/admin/plugins_controller.rb
|
@@ -429,11 +625,10 @@ files:
|
|
429
625
|
- app/models/concerns/categories_tags_for_posts.rb
|
430
626
|
- app/models/concerns/custom_fields_read.rb
|
431
627
|
- app/models/concerns/metas.rb
|
432
|
-
- app/models/concerns/metas_saved.rb
|
433
|
-
- app/models/concerns/site_public.rb
|
434
628
|
- app/models/custom_field.rb
|
435
629
|
- app/models/custom_field_group.rb
|
436
630
|
- app/models/custom_fields_relationship.rb
|
631
|
+
- app/models/grid_template.rb
|
437
632
|
- app/models/meta.rb
|
438
633
|
- app/models/nav_menu.rb
|
439
634
|
- app/models/nav_menu_item.rb
|
@@ -458,12 +653,16 @@ files:
|
|
458
653
|
- app/models/widget/main.rb
|
459
654
|
- app/models/widget/sidebar.rb
|
460
655
|
- app/views/_flash_messages.html.erb
|
461
|
-
- app/views/admin/appearances/
|
462
|
-
- app/views/admin/appearances/
|
656
|
+
- app/views/admin/appearances/nav_menus/_custom_fields.html.erb
|
657
|
+
- app/views/admin/appearances/nav_menus/_external_menu.html.erb
|
658
|
+
- app/views/admin/appearances/nav_menus/_menu_form.html.erb
|
659
|
+
- app/views/admin/appearances/nav_menus/_menu_list.html.erb
|
660
|
+
- app/views/admin/appearances/nav_menus/index.html.erb
|
463
661
|
- app/views/admin/appearances/themes/index.html.erb
|
464
662
|
- app/views/admin/appearances/themes/preview.html.erb
|
465
663
|
- app/views/admin/appearances/themes/theme_load_data.html.erb
|
466
664
|
- app/views/admin/appearances/widgets/assign/_form.html.erb
|
665
|
+
- app/views/admin/appearances/widgets/main/_sidebar.html.erb
|
467
666
|
- app/views/admin/appearances/widgets/main/form.html.erb
|
468
667
|
- app/views/admin/appearances/widgets/main/index.html.erb
|
469
668
|
- app/views/admin/appearances/widgets/sidebar/form.html.erb
|
@@ -474,6 +673,8 @@ files:
|
|
474
673
|
- app/views/admin/comments/index.html.erb
|
475
674
|
- app/views/admin/comments/reply.html.erb
|
476
675
|
- app/views/admin/dashboard/index.html.erb
|
676
|
+
- app/views/admin/grid_editor/form.html.erb
|
677
|
+
- app/views/admin/grid_editor/index.html.erb
|
477
678
|
- app/views/admin/installers/form.html.erb
|
478
679
|
- app/views/admin/installers/welcome.html.erb
|
479
680
|
- app/views/admin/media/iframe.html.erb
|
@@ -484,6 +685,7 @@ files:
|
|
484
685
|
- app/views/admin/post_tags/edit.html.erb
|
485
686
|
- app/views/admin/post_tags/index.html.erb
|
486
687
|
- app/views/admin/posts/_filter_posts.html.erb
|
688
|
+
- app/views/admin/posts/_sidebar.html.erb
|
487
689
|
- app/views/admin/posts/form.html.erb
|
488
690
|
- app/views/admin/posts/index.html.erb
|
489
691
|
- app/views/admin/posts/show.html.erb
|
@@ -537,6 +739,27 @@ files:
|
|
537
739
|
- app/views/default_theme/admin/settings.html.erb
|
538
740
|
- app/views/default_theme/category.html.erb
|
539
741
|
- app/views/default_theme/category.rss.builder
|
742
|
+
- app/views/default_theme/custom_fields/audio.html.erb
|
743
|
+
- app/views/default_theme/custom_fields/checkbox.html.erb
|
744
|
+
- app/views/default_theme/custom_fields/checkboxes.html.erb
|
745
|
+
- app/views/default_theme/custom_fields/colorpicker.html.erb
|
746
|
+
- app/views/default_theme/custom_fields/date.html.erb
|
747
|
+
- app/views/default_theme/custom_fields/editor.html.erb
|
748
|
+
- app/views/default_theme/custom_fields/email.html.erb
|
749
|
+
- app/views/default_theme/custom_fields/field_attrs.html.erb
|
750
|
+
- app/views/default_theme/custom_fields/file.html.erb
|
751
|
+
- app/views/default_theme/custom_fields/image.html.erb
|
752
|
+
- app/views/default_theme/custom_fields/numeric.html.erb
|
753
|
+
- app/views/default_theme/custom_fields/phone.html.erb
|
754
|
+
- app/views/default_theme/custom_fields/posts.html.erb
|
755
|
+
- app/views/default_theme/custom_fields/radio.html.erb
|
756
|
+
- app/views/default_theme/custom_fields/select.html.erb
|
757
|
+
- app/views/default_theme/custom_fields/select_eval.html.erb
|
758
|
+
- app/views/default_theme/custom_fields/text_area.html.erb
|
759
|
+
- app/views/default_theme/custom_fields/text_box.html.erb
|
760
|
+
- app/views/default_theme/custom_fields/url.html.erb
|
761
|
+
- app/views/default_theme/custom_fields/users.html.erb
|
762
|
+
- app/views/default_theme/custom_fields/video.html.erb
|
540
763
|
- app/views/default_theme/index.html.erb
|
541
764
|
- app/views/default_theme/index.rss.builder
|
542
765
|
- app/views/default_theme/layouts/_footer.html.erb
|
@@ -552,8 +775,6 @@ files:
|
|
552
775
|
- app/views/default_theme/partials/_render_custom_field.html.erb
|
553
776
|
- app/views/default_theme/partials/_search_form.html.erb
|
554
777
|
- app/views/default_theme/partials/_sidebar.html.erb
|
555
|
-
- app/views/default_theme/post.html.erb
|
556
|
-
- app/views/default_theme/post.rss.builder
|
557
778
|
- app/views/default_theme/post_tag.html.erb
|
558
779
|
- app/views/default_theme/post_tag.rss.builder
|
559
780
|
- app/views/default_theme/post_type.html.erb
|
@@ -561,12 +782,16 @@ files:
|
|
561
782
|
- app/views/default_theme/profile.html.erb
|
562
783
|
- app/views/default_theme/robots.text.erb
|
563
784
|
- app/views/default_theme/search.html.erb
|
785
|
+
- app/views/default_theme/single.html.erb
|
786
|
+
- app/views/default_theme/single.rss.builder
|
564
787
|
- app/views/default_theme/sitemap.html.erb
|
565
788
|
- app/views/html_mailer/mailer.html.erb
|
566
789
|
- app/views/layouts/admin.html.erb
|
567
790
|
- app/views/layouts/admin/_ajax.html.erb
|
568
791
|
- app/views/layouts/admin/_flash_messages.html.erb
|
792
|
+
- app/views/layouts/admin/_footer.html.erb
|
569
793
|
- app/views/layouts/admin/_form_error.html.erb
|
794
|
+
- app/views/layouts/admin/_header.html.erb
|
570
795
|
- app/views/layouts/admin/_sidebar.html.erb
|
571
796
|
- app/views/layouts/admin/installer.html.erb
|
572
797
|
- app/views/layouts/application.html.erb
|
@@ -586,6 +811,7 @@ files:
|
|
586
811
|
- config/locales/admin/en.yml
|
587
812
|
- config/locales/admin/es.yml
|
588
813
|
- config/locales/admin/it.yml
|
814
|
+
- config/locales/admin/js.yml
|
589
815
|
- config/locales/ar.yml
|
590
816
|
- config/locales/common.yml
|
591
817
|
- config/locales/de.yml
|
@@ -603,7 +829,7 @@ files:
|
|
603
829
|
- config/sitemap.rb
|
604
830
|
- config/system.json
|
605
831
|
- db/migrate/20150611161134_post_table_into_utf8.rb
|
606
|
-
-
|
832
|
+
- db/migrate/20150926095310_rename_column_posts.rb
|
607
833
|
- lib/camaleon_cms.rb
|
608
834
|
- lib/camaleon_cms/engine.rb
|
609
835
|
- lib/camaleon_cms/version.rb
|
@@ -625,6 +851,15 @@ files:
|
|
625
851
|
- lib/ext/hash.rb
|
626
852
|
- lib/ext/string.rb
|
627
853
|
- lib/ext/translator.rb
|
854
|
+
- lib/generators/camaleon_cms/gem_plugin_generator.rb
|
855
|
+
- lib/generators/camaleon_cms/gem_plugin_template/app/controllers/plugins/my_plugin/admin_controller.rb
|
856
|
+
- lib/generators/camaleon_cms/gem_plugin_template/app/controllers/plugins/my_plugin/front_controller.rb
|
857
|
+
- lib/generators/camaleon_cms/gem_plugin_template/app/helpers/plugins/my_plugin/main_helper.rb
|
858
|
+
- lib/generators/camaleon_cms/gem_plugin_template/app/models/plugins/my_plugin/my_plugin.rb
|
859
|
+
- lib/generators/camaleon_cms/gem_plugin_template/app/views/plugins/my_plugin/admin/index.html.erb
|
860
|
+
- lib/generators/camaleon_cms/gem_plugin_template/app/views/plugins/my_plugin/front/index.html.erb
|
861
|
+
- lib/generators/camaleon_cms/gem_plugin_template/app/views/plugins/my_plugin/layouts/readme.txt
|
862
|
+
- lib/generators/camaleon_cms/gem_plugin_template/config/camaleon_plugin.json
|
628
863
|
- lib/generators/camaleon_cms/install_generator.rb
|
629
864
|
- lib/generators/camaleon_cms/install_template/apps/plugins/readme.txt
|
630
865
|
- lib/generators/camaleon_cms/install_template/apps/themes/readme.txt
|