camaleon_cms 0.0.1
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 +7 -0
- data/Rakefile +37 -0
- data/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/images/admin/no_image.jpg +0 -0
- data/app/assets/images/bg-tree.jpeg +0 -0
- data/app/assets/images/camaleon-dark.png +0 -0
- data/app/assets/images/camaleon.png +0 -0
- data/app/assets/images/category-icon.png +0 -0
- data/app/assets/images/image-not-found.png +0 -0
- data/app/assets/images/language/de.png +0 -0
- data/app/assets/images/language/en.png +0 -0
- data/app/assets/images/language/es.png +0 -0
- data/app/assets/images/language/fr.png +0 -0
- data/app/assets/images/language/it.png +0 -0
- data/app/assets/images/language/pt.png +0 -0
- data/app/assets/images/language/zh.png +0 -0
- data/app/assets/images/loader.gif +0 -0
- data/app/assets/images/users/no-image.jpg +0 -0
- data/app/assets/javascripts/admin/actions.js +248 -0
- data/app/assets/javascripts/admin/admin-manifest.js +32 -0
- data/app/assets/javascripts/admin/bootstrap-colorpicker.js +540 -0
- data/app/assets/javascripts/admin/bootstrap-datepicker.js +1690 -0
- data/app/assets/javascripts/admin/bootstrap-datetimepicker.min.js +26 -0
- data/app/assets/javascripts/admin/bootstrap-select.js +1022 -0
- data/app/assets/javascripts/admin/core.js +267 -0
- data/app/assets/javascripts/admin/custom_fields.js +165 -0
- data/app/assets/javascripts/admin/data.js +78 -0
- data/app/assets/javascripts/admin/elfinder-manifest.js +7 -0
- data/app/assets/javascripts/admin/elfinder/elfinder.full.js +12646 -0
- data/app/assets/javascripts/admin/elfinder/i18n/elfinder.es.js +294 -0
- data/app/assets/javascripts/admin/elfinder/i18n/elfinder.fr.js +298 -0
- data/app/assets/javascripts/admin/elfinder/proxy/elFinderSupportVer1.js +338 -0
- data/app/assets/javascripts/admin/elfinder/upload_elfinder.js +236 -0
- data/app/assets/javascripts/admin/es.js +27 -0
- data/app/assets/javascripts/admin/form-builder/formbuilder.js +1250 -0
- data/app/assets/javascripts/admin/form-builder/vendor.js +3072 -0
- data/app/assets/javascripts/admin/form/cropper.min.js +9 -0
- data/app/assets/javascripts/admin/form/jquery.form.js +911 -0
- data/app/assets/javascripts/admin/jquery-sieve.js +6 -0
- data/app/assets/javascripts/admin/jquery-ui.min.js +10 -0
- data/app/assets/javascripts/admin/jquery.nestable.js +485 -0
- data/app/assets/javascripts/admin/jquery.slugify.js +65 -0
- data/app/assets/javascripts/admin/jquery.tagsinput.min.js +1 -0
- data/app/assets/javascripts/admin/jquery.validate.js +1415 -0
- data/app/assets/javascripts/admin/login.js.coffee +7 -0
- data/app/assets/javascripts/admin/login_manifest.js +18 -0
- data/app/assets/javascripts/admin/modal.js +94 -0
- data/app/assets/javascripts/admin/nav-menu.js +110 -0
- data/app/assets/javascripts/admin/plugins.js +637 -0
- data/app/assets/javascripts/admin/post.js +274 -0
- data/app/assets/javascripts/admin/tageditor/jquery.caret.min.js +2 -0
- data/app/assets/javascripts/admin/tageditor/jquery.tag-editor.js +352 -0
- data/app/assets/javascripts/admin/tinymce/langs/es.js +177 -0
- data/app/assets/javascripts/admin/tinymce/langs/readme.md +3 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-cool.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-cry.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-embarassed.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-frown.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-innocent.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-kiss.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-laughing.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-sealed.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-smile.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-surprised.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-undecided.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-wink.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-yell.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/plugins/filemanager/plugin.min.js +31 -0
- data/app/assets/javascripts/admin/tinymce/plugins/visualblocks/css/visualblocks.css +135 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/content.min.css.scss +4 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce-small.svg +62 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce.svg +83 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/img/anchor.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/img/loader.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/img/object.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/skins/lightgray/img/trans.gif +0 -0
- data/app/assets/javascripts/admin/tinymce/themes/modern/theme.min.js +1 -0
- data/app/assets/javascripts/admin/tinymce/tinymce.min.js +11 -0
- data/app/assets/javascripts/admin/translator.js +109 -0
- data/app/assets/javascripts/admin/underscore.js +1536 -0
- data/app/assets/javascripts/admin/widgets.js +53 -0
- data/app/assets/javascripts/audio/alert.mp3 +0 -0
- data/app/assets/javascripts/audio/fail.mp3 +0 -0
- data/app/assets/javascripts/bootstrap.min.js +7 -0
- data/app/assets/javascripts/elfinder_front.js +85 -0
- data/app/assets/javascripts/gibberish-aes.js +1017 -0
- data/app/assets/javascripts/jquery-1.11.3.min.js +5 -0
- data/app/assets/stylesheets/admin/admin-manifest.css +28 -0
- data/app/assets/stylesheets/admin/animate/animate.min.css +6 -0
- data/app/assets/stylesheets/admin/bootstrap/bootstrap-datetimepicker.css +339 -0
- data/app/assets/stylesheets/admin/bootstrap/bootstrap.min.css +5 -0
- data/app/assets/stylesheets/admin/bootstrap/images/glyphicons-halflings.png +0 -0
- data/app/assets/stylesheets/admin/core.scss +345 -0
- data/app/assets/stylesheets/admin/cropper/cropper.min.css +52 -0
- data/app/assets/stylesheets/admin/elfinder-manifest.css +6 -0
- data/app/assets/stylesheets/admin/elfinder/elfinder-theme.scss +191 -0
- data/app/assets/stylesheets/admin/elfinder/elfinder.css +1922 -0
- data/app/assets/stylesheets/admin/elfinder/images/arrows-active.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/arrows-normal.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/crop.gif +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/dialogs.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/icons-big.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/icons-small.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/logo.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/progress.gif +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/quicklook-bg.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/quicklook-icons.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/resize.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/spinner-mini.gif +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/toolbar.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/stylesheets/admin/elfinder/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.eot +0 -0
- data/app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.svg +1831 -0
- 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/fonts/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/stylesheets/admin/fonts/glyphicons-halflings-regular.svg +229 -0
- data/app/assets/stylesheets/admin/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/stylesheets/admin/fonts/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/stylesheets/admin/form-builder/formbuilder.css +71 -0
- data/app/assets/stylesheets/admin/img/bg.png +0 -0
- data/app/assets/stylesheets/admin/img/colorpicker/alpha.png +0 -0
- data/app/assets/stylesheets/admin/img/colorpicker/hue.png +0 -0
- data/app/assets/stylesheets/admin/img/colorpicker/saturation.png +0 -0
- data/app/assets/stylesheets/admin/img/girls-1.jpg +0 -0
- data/app/assets/stylesheets/admin/img/jquery/resize-icon.png +0 -0
- data/app/assets/stylesheets/admin/img/loading.gif +1 -0
- data/app/assets/stylesheets/admin/img/logo-small.png +0 -0
- data/app/assets/stylesheets/admin/img/logo.png +0 -0
- data/app/assets/stylesheets/admin/img/no_image.jpg +0 -0
- data/app/assets/stylesheets/admin/img/rormeleon-white.png +0 -0
- data/app/assets/stylesheets/admin/img/thumb_no_found.jpg +0 -0
- data/app/assets/stylesheets/admin/jquery.tagsinput.css +72 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-icons_454545_256x240.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-icons_888888_256x240.png +0 -0
- data/app/assets/stylesheets/admin/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/stylesheets/admin/jquery/jquery-ui.scss +1226 -0
- data/app/assets/stylesheets/admin/nav-menu.css +54 -0
- data/app/assets/stylesheets/admin/nestable/jquery.nestable.css +103 -0
- data/app/assets/stylesheets/admin/tageditor/delete.png +0 -0
- data/app/assets/stylesheets/admin/tageditor/delete.svg +4 -0
- data/app/assets/stylesheets/admin/tageditor/jquery.tag-editor.css +49 -0
- data/app/assets/stylesheets/admin/theme-default.scss +8462 -0
- data/app/assets/stylesheets/admin/widgets.css.scss +26 -0
- data/app/assets/stylesheets/bootstrap.min.css.scss +5 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/css/style.css +84 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/editor_plugin.js +1 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/editor_plugin_src.js +90 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/img/youtube.png +0 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/index.html +86 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/js/scripts.js +1 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/js/scripts_src.js +81 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/en.js +3 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/en_dlg.js +12 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/es.js +3 -0
- data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/es_dlg.js +12 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/bootstrap.css +2228 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/content.css +189 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/dialog.css +295 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/butt2.png +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/button-bg.png +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/buttons.png +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/down_arrow.gif +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/fade-butt.png +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/icons.png +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/items.gif +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/menu-arrow.png +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/menu-check.png +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/progress.gif +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/tabs.gif +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/toolbarbg.png +0 -0
- data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/ui.css +1163 -0
- data/app/controllers/admin/appearances/nav_menus_controller.rb +120 -0
- data/app/controllers/admin/appearances/themes_controller.rb +30 -0
- data/app/controllers/admin/appearances/widgets/assign_controller.rb +40 -0
- data/app/controllers/admin/appearances/widgets/main_controller.rb +57 -0
- data/app/controllers/admin/appearances/widgets/sidebar_controller.rb +59 -0
- data/app/controllers/admin/appearances_controller.rb +17 -0
- data/app/controllers/admin/categories_controller.rb +77 -0
- data/app/controllers/admin/comments_controller.rb +119 -0
- data/app/controllers/admin/installers_controller.rb +40 -0
- data/app/controllers/admin/media_controller.rb +55 -0
- data/app/controllers/admin/plugins_controller.rb +45 -0
- data/app/controllers/admin/post_tags_controller.rb +83 -0
- data/app/controllers/admin/posts/drafts_controller.rb +76 -0
- data/app/controllers/admin/posts_controller.rb +195 -0
- data/app/controllers/admin/sessions_controller.rb +144 -0
- data/app/controllers/admin/settings/custom_fields_controller.rb +85 -0
- data/app/controllers/admin/settings/post_types_controller.rb +73 -0
- data/app/controllers/admin/settings/sites_controller.rb +89 -0
- data/app/controllers/admin/settings_controller.rb +60 -0
- data/app/controllers/admin/user_roles_controller.rb +76 -0
- data/app/controllers/admin/users_controller.rb +120 -0
- data/app/controllers/admin_controller.rb +56 -0
- data/app/controllers/apps/plugins_admin_controller.rb +21 -0
- data/app/controllers/apps/plugins_front_controller.rb +21 -0
- data/app/controllers/apps/themes_admin_controller.rb +21 -0
- data/app/controllers/apps/themes_front_controller.rb +21 -0
- data/app/controllers/camaleon_controller.rb +87 -0
- data/app/controllers/concerns/frontend_concern.rb +57 -0
- data/app/controllers/frontend_controller.rb +240 -0
- data/app/decorators/application_decorator.rb +81 -0
- data/app/decorators/category_decorator.rb +61 -0
- data/app/decorators/custom_field_decorator.rb +31 -0
- data/app/decorators/custom_fields_concern.rb +33 -0
- data/app/decorators/metas_decorator_methods.rb +19 -0
- data/app/decorators/post_comment_decorator.rb +26 -0
- data/app/decorators/post_decorator.rb +162 -0
- data/app/decorators/post_tag_decorator.rb +36 -0
- data/app/decorators/post_type_decorator.rb +56 -0
- data/app/decorators/site_decorator.rb +136 -0
- data/app/decorators/term_taxonomy_decorator.rb +97 -0
- data/app/decorators/theme_decorator.rb +16 -0
- data/app/decorators/user_decorator.rb +67 -0
- data/app/decorators/widget_decorator.rb +13 -0
- data/app/helpers/admin/application_helper.rb +27 -0
- data/app/helpers/admin/breadcrumb_helper.rb +37 -0
- data/app/helpers/admin/category_helper.rb +22 -0
- data/app/helpers/admin/custom_fields_helper.rb +329 -0
- data/app/helpers/admin/menus_helper.rb +199 -0
- data/app/helpers/admin/post_type_helper.rb +50 -0
- data/app/helpers/camaleon_helper.rb +65 -0
- data/app/helpers/captcha_helper.rb +90 -0
- data/app/helpers/content_helper.rb +35 -0
- data/app/helpers/frontend/application_helper.rb +41 -0
- data/app/helpers/frontend/nav_menu_helper.rb +177 -0
- data/app/helpers/frontend/seo_helper.rb +60 -0
- data/app/helpers/frontend/site_helper.rb +60 -0
- data/app/helpers/hooks_helper.rb +54 -0
- data/app/helpers/html_helper.rb +114 -0
- data/app/helpers/plugins_helper.rb +129 -0
- data/app/helpers/session_helper.rb +108 -0
- data/app/helpers/short_code_helper.rb +82 -0
- data/app/helpers/site_helper.rb +124 -0
- data/app/helpers/theme_helper.rb +51 -0
- data/app/helpers/uploader_helper.rb +144 -0
- data/app/helpers/user_roles_helper.rb +14 -0
- data/app/mailers/html_mailer.rb +47 -0
- data/app/models/ability.rb +113 -0
- data/app/models/category.rb +55 -0
- data/app/models/concerns/categories_tags_for_posts.rb +140 -0
- data/app/models/concerns/custom_fields_read.rb +221 -0
- data/app/models/concerns/metas.rb +133 -0
- data/app/models/concerns/metas_saved.rb +10 -0
- data/app/models/concerns/site_public.rb +23 -0
- data/app/models/custom_field.rb +34 -0
- data/app/models/custom_field_group.rb +121 -0
- data/app/models/custom_fields_relationship.rb +26 -0
- data/app/models/meta.rb +16 -0
- data/app/models/nav_menu.rb +41 -0
- data/app/models/nav_menu_item.rb +36 -0
- data/app/models/plugin.rb +57 -0
- data/app/models/plugins.rb +13 -0
- data/app/models/post.rb +89 -0
- data/app/models/post_comment.rb +44 -0
- data/app/models/post_default.rb +78 -0
- data/app/models/post_relationship.rb +26 -0
- data/app/models/post_tag.rb +15 -0
- data/app/models/post_type.rb +125 -0
- data/app/models/site.rb +337 -0
- data/app/models/term_relationship.rb +26 -0
- data/app/models/term_taxonomy.rb +156 -0
- data/app/models/theme.rb +33 -0
- data/app/models/themes.rb +13 -0
- data/app/models/user.rb +172 -0
- data/app/models/user_relationship.rb +17 -0
- data/app/models/user_role.rb +139 -0
- data/app/models/widget.rb +13 -0
- data/app/models/widget/assigned.rb +34 -0
- data/app/models/widget/main.rb +52 -0
- data/app/models/widget/sidebar.rb +28 -0
- data/app/views/_flash_messages.html.erb +39 -0
- data/app/views/admin/appearances/_external_menu.html.erb +16 -0
- data/app/views/admin/appearances/menu.html.erb +199 -0
- data/app/views/admin/appearances/themes/index.html.erb +68 -0
- data/app/views/admin/appearances/themes/preview.html.erb +1 -0
- data/app/views/admin/appearances/themes/theme_load_data.html.erb +40 -0
- data/app/views/admin/appearances/widgets/assign/_form.html.erb +35 -0
- data/app/views/admin/appearances/widgets/main/form.html.erb +27 -0
- data/app/views/admin/appearances/widgets/main/index.html.erb +91 -0
- data/app/views/admin/appearances/widgets/sidebar/form.html.erb +23 -0
- data/app/views/admin/categories/_form.html.erb +42 -0
- data/app/views/admin/categories/edit.html.erb +18 -0
- data/app/views/admin/categories/index.html.erb +81 -0
- data/app/views/admin/comments/form.html.erb +55 -0
- data/app/views/admin/comments/index.html.erb +58 -0
- data/app/views/admin/comments/reply.html.erb +197 -0
- data/app/views/admin/dashboard/index.html.erb +25 -0
- data/app/views/admin/installers/form.html.erb +19 -0
- data/app/views/admin/installers/welcome.html.erb +8 -0
- data/app/views/admin/media/iframe.html.erb +33 -0
- data/app/views/admin/media/index.html.erb +31 -0
- data/app/views/admin/plugins/_plugins_list.html.erb +59 -0
- data/app/views/admin/plugins/index.html.erb +37 -0
- data/app/views/admin/post_tags/_form.html.erb +34 -0
- data/app/views/admin/post_tags/edit.html.erb +18 -0
- data/app/views/admin/post_tags/index.html.erb +79 -0
- data/app/views/admin/posts/_filter_posts.html.erb +6 -0
- data/app/views/admin/posts/form.html.erb +294 -0
- data/app/views/admin/posts/index.html.erb +121 -0
- data/app/views/admin/posts/show.html.erb +20 -0
- data/app/views/admin/sessions/forgot.html.erb +51 -0
- data/app/views/admin/sessions/login.html.erb +39 -0
- data/app/views/admin/sessions/register.html.erb +63 -0
- data/app/views/admin/settings/custom_fields/_meta_data.html.erb +102 -0
- data/app/views/admin/settings/custom_fields/_render.html.erb +73 -0
- data/app/views/admin/settings/custom_fields/fields/audio.html.erb +4 -0
- data/app/views/admin/settings/custom_fields/fields/checkbox.html.erb +3 -0
- data/app/views/admin/settings/custom_fields/fields/checkboxes.html.erb +5 -0
- data/app/views/admin/settings/custom_fields/fields/colorpicker.html.erb +7 -0
- data/app/views/admin/settings/custom_fields/fields/date.html.erb +7 -0
- data/app/views/admin/settings/custom_fields/fields/editor.html.erb +4 -0
- data/app/views/admin/settings/custom_fields/fields/email.html.erb +3 -0
- data/app/views/admin/settings/custom_fields/fields/field_attrs.html.erb +10 -0
- data/app/views/admin/settings/custom_fields/fields/file.html.erb +4 -0
- data/app/views/admin/settings/custom_fields/fields/image.html.erb +4 -0
- data/app/views/admin/settings/custom_fields/fields/numeric.html.erb +4 -0
- data/app/views/admin/settings/custom_fields/fields/phone.html.erb +3 -0
- data/app/views/admin/settings/custom_fields/fields/posts.html.erb +17 -0
- data/app/views/admin/settings/custom_fields/fields/radio.html.erb +5 -0
- data/app/views/admin/settings/custom_fields/fields/select.html.erb +7 -0
- data/app/views/admin/settings/custom_fields/fields/select_eval.html.erb +3 -0
- data/app/views/admin/settings/custom_fields/fields/text_area.html.erb +3 -0
- data/app/views/admin/settings/custom_fields/fields/text_box.html.erb +3 -0
- data/app/views/admin/settings/custom_fields/fields/url.html.erb +3 -0
- data/app/views/admin/settings/custom_fields/fields/users.html.erb +8 -0
- data/app/views/admin/settings/custom_fields/fields/video.html.erb +4 -0
- data/app/views/admin/settings/custom_fields/form.html.erb +249 -0
- data/app/views/admin/settings/custom_fields/get_items.html.erb +199 -0
- data/app/views/admin/settings/custom_fields/index.html.erb +69 -0
- data/app/views/admin/settings/languages.html.erb +68 -0
- data/app/views/admin/settings/post_types/_form.html.erb +93 -0
- data/app/views/admin/settings/post_types/edit.html.erb +18 -0
- data/app/views/admin/settings/post_types/index.html.erb +80 -0
- data/app/views/admin/settings/site.html.erb +124 -0
- data/app/views/admin/settings/sites/form.html.erb +50 -0
- data/app/views/admin/settings/sites/index.html.erb +56 -0
- data/app/views/admin/taxonomy/_form.html.erb +62 -0
- data/app/views/admin/taxonomy/edit.html.erb +18 -0
- data/app/views/admin/taxonomy/index.html.erb +79 -0
- data/app/views/admin/user_roles/form.html.erb +168 -0
- data/app/views/admin/user_roles/index.html.erb +54 -0
- data/app/views/admin/users/form.html.erb +305 -0
- data/app/views/admin/users/index.html.erb +58 -0
- data/app/views/admin/users/profile.html.erb +118 -0
- data/app/views/admin/users/profile/_activity.html.erb +180 -0
- data/app/views/admin/users/profile/_settings.html.erb +15 -0
- data/app/views/admin/users/profile_edit.html.erb +305 -0
- data/app/views/default_theme/admin/settings.html.erb +1 -0
- data/app/views/default_theme/category.html.erb +25 -0
- data/app/views/default_theme/category.rss.builder +23 -0
- data/app/views/default_theme/index.html.erb +70 -0
- data/app/views/default_theme/index.rss.builder +21 -0
- data/app/views/default_theme/layouts/_footer.html.erb +18 -0
- data/app/views/default_theme/layouts/_header.html.erb +38 -0
- data/app/views/default_theme/layouts/index.html.erb +34 -0
- data/app/views/default_theme/partials/_breadcrumb.html.erb +10 -0
- data/app/views/default_theme/partials/_categories_list.html.erb +23 -0
- data/app/views/default_theme/partials/_comments.html.erb +33 -0
- data/app/views/default_theme/partials/_comments_list.html.erb +21 -0
- data/app/views/default_theme/partials/_flash_messages.html.erb +26 -0
- data/app/views/default_theme/partials/_forms.html.erb +19 -0
- data/app/views/default_theme/partials/_post_list_item.html.erb +13 -0
- data/app/views/default_theme/partials/_render_custom_field.html.erb +57 -0
- data/app/views/default_theme/partials/_search_form.html.erb +10 -0
- data/app/views/default_theme/partials/_sidebar.html.erb +56 -0
- data/app/views/default_theme/post.html.erb +40 -0
- data/app/views/default_theme/post.rss.builder +12 -0
- data/app/views/default_theme/post_tag.html.erb +17 -0
- data/app/views/default_theme/post_tag.rss.builder +22 -0
- data/app/views/default_theme/post_type.html.erb +25 -0
- data/app/views/default_theme/post_type.rss.builder +22 -0
- data/app/views/default_theme/profile.html.erb +18 -0
- data/app/views/default_theme/robots.text.erb +1 -0
- data/app/views/default_theme/search.html.erb +13 -0
- data/app/views/default_theme/sitemap.html.erb +0 -0
- data/app/views/html_mailer/other.html.erb +3 -0
- data/app/views/html_mailer/sender.html.erb +25 -0
- data/app/views/layouts/admin.html.erb +164 -0
- data/app/views/layouts/admin/_ajax.html.erb +2 -0
- data/app/views/layouts/admin/_flash_messages.html.erb +49 -0
- data/app/views/layouts/admin/_form_error.html.erb +10 -0
- data/app/views/layouts/admin/_sidebar.html.erb +31 -0
- data/app/views/layouts/admin/installer.html.erb +36 -0
- data/app/views/layouts/application.html.erb +15 -0
- data/app/views/layouts/login.html.erb +40 -0
- data/app/views/shortcode_templates/form.html.erb +1 -0
- data/app/views/shortcode_templates/widget.html.erb +11 -0
- data/config/initializers/active_record_extension.rb +24 -0
- data/config/initializers/assets.rb +17 -0
- data/config/initializers/cache_helper.rb +9 -0
- data/config/initializers/elfinder.rb +79 -0
- data/config/initializers/fix_ssl.rb +14 -0
- data/config/initializers/mobu.rb +24 -0
- data/config/initializers/page_caching.rb +35 -0
- data/config/initializers/rufus_cron.rb +44 -0
- data/config/locales/admin/en.yml +561 -0
- data/config/locales/admin/es.yml +560 -0
- data/config/locales/ar.yml +275 -0
- data/config/locales/common.yml +125 -0
- data/config/locales/de.yml +210 -0
- data/config/locales/en.yml +207 -0
- data/config/locales/es.yml +198 -0
- data/config/locales/fr.yml +207 -0
- data/config/locales/languages.yml +19 -0
- data/config/locales/pl.yml +237 -0
- data/config/locales/pt.yml +201 -0
- data/config/locales/routes.yml +23 -0
- data/config/routes.rb +10 -0
- data/config/routes/admin.rb +119 -0
- data/config/routes/frontend.rb +35 -0
- data/config/sitemap.rb +52 -0
- data/config/system.json +16 -0
- data/db/migrate/20150611161134_post_table_into_utf8.rb +115 -0
- data/lib/ca-bundle.crt +3554 -0
- data/lib/camaleon_cms.rb +4 -0
- data/lib/camaleon_cms/engine.rb +60 -0
- data/lib/camaleon_cms/version.rb +3 -0
- data/lib/captcha/bumpyroad.ttf +0 -0
- data/lib/captcha/captcha_0.jpg +0 -0
- data/lib/captcha/captcha_1.jpg +0 -0
- data/lib/captcha/captcha_10.jpg +0 -0
- data/lib/captcha/captcha_11.jpg +0 -0
- data/lib/captcha/captcha_2.jpg +0 -0
- data/lib/captcha/captcha_3.jpg +0 -0
- data/lib/captcha/captcha_4.jpg +0 -0
- data/lib/captcha/captcha_5.jpg +0 -0
- data/lib/captcha/captcha_6.jpg +0 -0
- data/lib/captcha/captcha_7.jpg +0 -0
- data/lib/captcha/captcha_8.jpg +0 -0
- data/lib/captcha/captcha_9.jpg +0 -0
- data/lib/ext/aes_crypt.rb +246 -0
- data/lib/ext/array.rb +54 -0
- data/lib/ext/hash.rb +41 -0
- data/lib/ext/string.rb +159 -0
- data/lib/ext/translator.rb +83 -0
- data/lib/generators/camaleon_cms/install_generator.rb +20 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/admin_controller.rb +25 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/assets/docs/images/screenshot_1.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/assets/docs/images/screenshot_2.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/assets/docs/images/screenshot_3.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/assets/docs/index.html +60 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/attack_helper.rb +99 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/config/config.json +31 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/config/custom_models.rb +4 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/config/locales/readme.txt +1 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/config/locales/translation.yml +36 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/config/routes_admin.txt +2 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/models/attack.rb +12 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/views/admin/settings.html.erb +49 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/admin_forms_controller.rb +93 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/css/admin/form-builder/formbuilder.css +70 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/css/contact-form.css +8 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/css/front/railsform.scss +94 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/css/readme.txt +1 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/images/screenshot_1.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/images/screenshot_2.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/images/screenshot_3.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/images/screenshot_4.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/images/screenshot_5.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/index.html +89 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/js/contact_form.js +2 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/js/form-builder/formbuilder.js +1271 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/js/form-builder/vendor.js +3072 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/js/readme.txt +1 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/config/config.json +35 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/config/locales/readme.txt +1 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/config/locales/translation.yml +210 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/config/routes_admin.txt +4 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/config/routes_front.txt +2 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/contact_form_helper.rb +91 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/contact_form_html_helper.rb +157 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/front_controller.rb +106 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/models/contact_form.rb +26 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/admin_forms/_form.html.erb +33 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/admin_forms/edit.html.erb +375 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/admin_forms/index.html.erb +65 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/admin_forms/manual.html.erb +59 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/admin_forms/responses.html.erb +67 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/forms_shorcode.html.erb +27 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/front/index.html.erb +3 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/admin_controller.rb +35 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/assets/docs/images/screenshot_1.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/assets/docs/images/screenshot_2.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/assets/docs/index.html +58 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/config/config.json +21 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/config/locales/readme.txt +1 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/config/locales/translation.yml +37 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/config/routes_admin.txt +3 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/front_cache_helper.rb +154 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/views/admin/settings.html.erb +71 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/docs/images/screenshot_1.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/docs/images/screenshot_2.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/docs/images/screenshot_3.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/docs/images/screenshot_4.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/docs/index.html +62 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/js/form.js +29 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/config/config.json +24 -0
- data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/visibility_post_helper.rb +132 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/css/magnific-ver.css +394 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/css/main.css +15 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/css/style-ver.css.scss +224 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/css/wpbase.css +1 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/images/empe.jpg +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/images/image.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/images/loader.gif +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/images/zoom.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/js/hover.zoom.js +67 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/js/magnific.min.js +3 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/js/main-ver.js +46 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/js/main.js +18 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/js/modernizr.custom.js +4 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/config/config.json +14 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/main_helper.rb +43 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/views/admin/settings.html.erb +4 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/views/index.html.erb +28 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/views/layouts/index.html.erb +85 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/views/partials/readme.txt +1 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/views/template_sample_page.html.erb +6 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/css/main.css +13 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/css/style.css.scss +3395 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/css/styles.css.scss +175 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/COPYING.txt +9 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/Genericons-Regular.otf +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/LICENSE.txt +339 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/README.txt +123 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/font/genericons-regular-webfont.eot +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/font/genericons-regular-webfont.svg +135 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/font/genericons-regular-webfont.ttf +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/font/genericons-regular-webfont.woff +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/genericons.css +197 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/circle.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/dotted-line-2x.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/dotted-line-light-2x.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/dotted-line-light.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/dotted-line.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/circle-thumbnail.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/circle.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/diamond-thumbnail.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/diamond.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/star-thumbnail.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/star.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/image.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/search-icon-2x.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/search-icon.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/config/config.json +19 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/default_helper.rb +36 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/admin/settings.html.erb +1 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/category.html.erb +16 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/index.html.erb +35 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/layouts/index.html.erb +83 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/page.html.erb +22 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_breadcrumb.html.erb +10 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_categories_list.html.erb +23 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_comments.html.erb +25 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_comments_list.html.erb +20 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_flash_messages.html.erb +26 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_forms.html.erb +19 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_post_list_item.html.erb +34 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_search_form.html.erb +8 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_sidebar.html.erb +50 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/post.html.erb +22 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/post_tag.html.erb +14 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/post_type.html.erb +33 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/search.html.erb +17 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/css/bootstrap/bootstrap.min.css +6735 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/css/main.css +13 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/css/styles.css.scss +175 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/images/image.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/js/main.js +15 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/js/plugins/bootstrap/bootstrap.min.js +6 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/js/plugins/jquery/jquery.min.js +4 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/js/plugins/modal_elfinder.js +29 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/config/config.json +26 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/custom_helper.rb +37 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/data.json +1 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/image.png +0 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/admin/settings.html.erb +1 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/category.html.erb +33 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/index.html.erb +70 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/layouts/_footer.html.erb +18 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/layouts/_header.html.erb +38 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/layouts/index.html.erb +34 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/page.html.erb +24 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_breadcrumb.html.erb +10 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_categories_list.html.erb +23 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_comments.html.erb +32 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_comments_list.html.erb +21 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_flash_messages.html.erb +26 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_forms.html.erb +19 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_post_list_item.html.erb +13 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_search_form.html.erb +10 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_sidebar.html.erb +60 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/post.html.erb +20 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/post_tag.html.erb +22 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/post_type.html.erb +33 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/search.html.erb +18 -0
- data/lib/generators/camaleon_cms/install_template/plugin_routes.rb +311 -0
- data/lib/generators/camaleon_cms/install_template/system.json +11 -0
- data/lib/generators/cplugin_generator.rb +80 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/admin_controller.rb +9 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/assets/css/readme.txt +1 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/assets/images/readme.txt +1 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/assets/js/readme.txt +1 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/config.json +18 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/locales/readme.txt +1 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/routes_admin.txt +1 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/routes_front.txt +1 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/front_controller.rb +9 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/main_helper.rb +21 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/models/my_plugin.rb +12 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/views/admin/index.html.erb +2 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/views/front/index.html.erb +2 -0
- data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/views/layouts/readme.txt +2 -0
- data/lib/generators/ctheme_generator.rb +63 -0
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/assets/css/main.css +12 -0
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/assets/images/image.png +0 -0
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/assets/js/main.js +14 -0
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/config/config.json +14 -0
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/main_helper.rb +25 -0
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/views/admin/settings.html.erb +4 -0
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/views/index.html.erb +25 -0
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/views/layouts/index.html.erb +71 -0
- data/lib/generators/ctheme_template/app/apps/themes/my_theme/views/partials/readme.txt +1 -0
- data/lib/tasks/camaleon_cms_tasks.rake +4 -0
- data/test/camaleon_cms_test.rb +7 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/test_helper.rb +19 -0
- metadata +699 -0
@@ -0,0 +1,125 @@
|
|
1
|
+
=begin
|
2
|
+
Camaleon CMS is a content management system
|
3
|
+
Copyright (C) 2015 by Owen Peredo Diaz
|
4
|
+
Email: owenperedo@gmail.com
|
5
|
+
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
6
|
+
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
7
|
+
See the GNU Affero General Public License (GPLv3) for more details.
|
8
|
+
=end
|
9
|
+
class PostType < TermTaxonomy
|
10
|
+
default_scope { where(taxonomy: :post_type) }
|
11
|
+
|
12
|
+
has_many :metas, ->{ where(object_class: 'PostType')}, :class_name => "Meta", foreign_key: :objectid, dependent: :destroy
|
13
|
+
has_many :categories, :class_name => "Category", foreign_key: :parent_id, dependent: :destroy
|
14
|
+
has_many :post_tags, :class_name => "PostTag", foreign_key: :parent_id, dependent: :destroy
|
15
|
+
has_many :post_relationships, :class_name => "PostRelationship", dependent: :destroy, :foreign_key => :term_taxonomy_id, inverse_of: :post_type
|
16
|
+
has_many :posts, foreign_key: :objectid, through: :post_relationships, :source => :posts, dependent: :destroy
|
17
|
+
has_many :field_group_taxonomy, -> {where("object_class LIKE ?","PostType_%")}, :class_name => "CustomField", foreign_key: :objectid, dependent: :destroy
|
18
|
+
|
19
|
+
belongs_to :owner, class_name: "User", foreign_key: :user_id
|
20
|
+
belongs_to :site, :class_name => "Site", foreign_key: :parent_id
|
21
|
+
|
22
|
+
scope :visible_menu, -> {where(term_group: nil)}
|
23
|
+
scope :hidden_menu, -> {where(term_group: -1)}
|
24
|
+
before_destroy :destroy_field_groups
|
25
|
+
after_create :set_default_site_user_roles
|
26
|
+
|
27
|
+
|
28
|
+
# check if current post type manage categories
|
29
|
+
def manage_categories?
|
30
|
+
options[:has_category]
|
31
|
+
end
|
32
|
+
|
33
|
+
# hide or show this post type on admin -> contents -> menu
|
34
|
+
# true => enable, false => disable
|
35
|
+
def toggle_show_for_admin_menu(flag)
|
36
|
+
self.update(term_group: flag == true ? nil : -1)
|
37
|
+
end
|
38
|
+
|
39
|
+
# check if this post type is shown on admin -> contents -> menu
|
40
|
+
def show_for_admin_menu?
|
41
|
+
self.term_group == nil
|
42
|
+
end
|
43
|
+
|
44
|
+
# check if this post type manage post tags
|
45
|
+
def manage_tags?
|
46
|
+
options[:has_tags]
|
47
|
+
end
|
48
|
+
|
49
|
+
# assign settings for this post type
|
50
|
+
# default: {has_category: false, has_tags: false, has_summary: false, has_content: true, has_comments: false, has_picture: true, has_template: false, has_keywords: false}.merge(settings)
|
51
|
+
def set_settings(settings = {})
|
52
|
+
settings = {has_category: false, has_tags: false, has_summary: true, has_content: true, has_comments: false, has_picture: true, has_template: false, has_keywords: true}.merge(settings)
|
53
|
+
self.set_meta("_default", settings)
|
54
|
+
end
|
55
|
+
|
56
|
+
# set or update a setting for this post type
|
57
|
+
def set_setting(key, value)
|
58
|
+
self.set_option(key, value)
|
59
|
+
end
|
60
|
+
|
61
|
+
# object: [category, post, post_tags]
|
62
|
+
def field_object_values(key, object)
|
63
|
+
field = fields.where(slug: key).first
|
64
|
+
field.present? ? field.values.where(objectid: object.id, object_class: object.class.to_s.gsub("Decorator","")).pluck(:value) : []
|
65
|
+
end
|
66
|
+
def field_object_value(key, object)
|
67
|
+
field_object_values(key, object).first
|
68
|
+
end
|
69
|
+
|
70
|
+
def get_post_content(key)
|
71
|
+
posts.rewhere(post_type: key)
|
72
|
+
end
|
73
|
+
|
74
|
+
# select full_categories for the post type, include all children categories
|
75
|
+
def full_categories
|
76
|
+
s = self.site
|
77
|
+
Category.where("term_group = ? or status in (?)", s.id, s.post_types.pluck(:id).to_s)
|
78
|
+
end
|
79
|
+
|
80
|
+
# return default category for this post type
|
81
|
+
# only return a category for post types that manage categories
|
82
|
+
def default_category
|
83
|
+
if manage_categories?
|
84
|
+
cat = self.categories.find_by_slug("uncategorized")
|
85
|
+
unless cat.present?
|
86
|
+
cat = self.categories.create({name: 'Uncategorized', slug: 'uncategorized', parent: self.id})
|
87
|
+
cat.set_option("not_deleted", true)
|
88
|
+
end
|
89
|
+
cat
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
# add a post for current model
|
94
|
+
# tilte: title for post, => required
|
95
|
+
# content: html text content, => required
|
96
|
+
# thumb: image url, => default (empty). check http://camaleon.tuzitio.com/api-methods.html#section_fileuploads
|
97
|
+
# has_comments: 0|1, => default (0)
|
98
|
+
# categories: [1,3,4,5], => default (empty)
|
99
|
+
# tags: String comma separated, => default (empty)
|
100
|
+
# slug: string key for post, => default (empty)
|
101
|
+
# summary: String resume (optional)} => default (empty)
|
102
|
+
# return created post if it was created, else return errors
|
103
|
+
def add_post(args)
|
104
|
+
p = self.posts.new({has_comments: 0}.merge(args))
|
105
|
+
p.slug = self.site.get_valid_post_slug(p.title.parameterize) unless p.slug.present?
|
106
|
+
if p.save
|
107
|
+
p.assign_category(args[:categories]) if args[:categories].present? && self.manage_categories?
|
108
|
+
p.assign_tags(args[:tags]) if args[:tags].present? && self.manage_tags?
|
109
|
+
return p
|
110
|
+
else
|
111
|
+
p.errors
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
private
|
116
|
+
def set_default_site_user_roles
|
117
|
+
self.site.set_default_user_roles(self)
|
118
|
+
end
|
119
|
+
|
120
|
+
# destroy all custom field groups assigned to this post type
|
121
|
+
def destroy_field_groups
|
122
|
+
self.get_field_groups.destroy_all
|
123
|
+
end
|
124
|
+
|
125
|
+
end
|
data/app/models/site.rb
ADDED
@@ -0,0 +1,337 @@
|
|
1
|
+
=begin
|
2
|
+
Camaleon CMS is a content management system
|
3
|
+
Copyright (C) 2015 by Owen Peredo Diaz
|
4
|
+
Email: owenperedo@gmail.com
|
5
|
+
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
6
|
+
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
7
|
+
See the GNU Affero General Public License (GPLv3) for more details.
|
8
|
+
=end
|
9
|
+
class Site < TermTaxonomy
|
10
|
+
include SitePublic
|
11
|
+
# attrs: [name, description, slug]
|
12
|
+
default_scope { where(taxonomy: :site).reorder(term_group: :desc) }
|
13
|
+
has_many :metas, ->{ where(object_class: 'Site')}, :class_name => "Meta", foreign_key: :objectid, dependent: :destroy
|
14
|
+
has_many :post_types, :class_name => "PostType", foreign_key: :parent_id, dependent: :destroy
|
15
|
+
has_many :nav_menus, :class_name => "NavMenu", foreign_key: :parent_id, dependent: :destroy
|
16
|
+
has_many :widgets, :class_name => "Widget::Main", foreign_key: :parent_id, dependent: :destroy
|
17
|
+
has_many :sidebars, :class_name => "Widget::Sidebar", foreign_key: :parent_id, dependent: :destroy
|
18
|
+
has_many :user_roles_rel, :class_name => "UserRole", foreign_key: :parent_id, dependent: :destroy
|
19
|
+
has_many :custom_field_groups, :class_name => "CustomFieldGroup", foreign_key: :parent_id, dependent: :destroy
|
20
|
+
# has_many :categories, :class_name => "Category", through: :post_types, :source => :categories , dependent: :destroy # root categories
|
21
|
+
# has_many :post_tags, :class_name => "PostTag", through: :post_types, :source => :post_tags , dependent: :destroy, as: "posttag"
|
22
|
+
has_many :term_taxonomies, :class_name => "TermTaxonomy", foreign_key: :parent_id
|
23
|
+
|
24
|
+
#has_many :posts, through: :post_types, :source => :posts
|
25
|
+
has_many :plugins, :class_name => "Plugin", foreign_key: :parent_id, dependent: :destroy
|
26
|
+
has_many :themes, :class_name => "Theme", foreign_key: :parent_id, dependent: :destroy
|
27
|
+
|
28
|
+
after_create :default_settings
|
29
|
+
after_create :set_all_users
|
30
|
+
after_create :set_default_user_roles
|
31
|
+
after_save :update_routes
|
32
|
+
before_destroy :destroy_site
|
33
|
+
validates_uniqueness_of :slug, scope: :taxonomy
|
34
|
+
|
35
|
+
def user_roles
|
36
|
+
if PluginRoutes.system_info["users_share_sites"]
|
37
|
+
Site.first.user_roles_rel
|
38
|
+
else
|
39
|
+
user_roles_rel
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# all post fix
|
44
|
+
def posts
|
45
|
+
Post.joins(:post_types).where("term_taxonomy.id" => self.post_types.pluck(:id)).order("term_relationships.term_order asc, posts.id DESC")
|
46
|
+
end
|
47
|
+
|
48
|
+
#select full_categories for the site, include all children categories
|
49
|
+
def full_categories
|
50
|
+
Category.where({term_group: self.id})
|
51
|
+
end
|
52
|
+
|
53
|
+
# all post_tags for this site
|
54
|
+
def post_tags
|
55
|
+
PostTag.includes(:post_type).where(post_type: self.post_types.pluck(:id))
|
56
|
+
end
|
57
|
+
|
58
|
+
# all main categories for this site
|
59
|
+
def categories
|
60
|
+
Category.includes(:post_type_parent).where(post_type_parent: self.post_types.pluck(:id))
|
61
|
+
end
|
62
|
+
|
63
|
+
# all posts for this site (faster mode)
|
64
|
+
# alternative for Site.posts (no manage default order)
|
65
|
+
# deprecated for select posts from scratch
|
66
|
+
def posts2
|
67
|
+
Post.joins(:post_types).where("term_taxonomy.id" => self.post_types.pluck(:id)).where("term_taxonomy.slug = ?", "post")
|
68
|
+
end
|
69
|
+
|
70
|
+
# return all languages configured by the admin
|
71
|
+
# if it is empty, then return default locale
|
72
|
+
def get_languages
|
73
|
+
return @_languages if defined?(@_languages)
|
74
|
+
l = get_meta("languages_site", [I18n.default_locale])
|
75
|
+
@_languages = l.map { |x| x.to_sym } rescue [I18n.default_locale.to_sym]
|
76
|
+
end
|
77
|
+
|
78
|
+
# return current admin language configured for this site
|
79
|
+
def get_admin_language
|
80
|
+
options[:_admin_theme] || "en"
|
81
|
+
end
|
82
|
+
|
83
|
+
# set current admin language for this site
|
84
|
+
def set_admin_language(language)
|
85
|
+
set_option("_admin_theme", language)
|
86
|
+
end
|
87
|
+
|
88
|
+
# return current theme slug configured for this site
|
89
|
+
# if theme was not configured, then return system.json defined
|
90
|
+
def get_theme_slug
|
91
|
+
options[:_theme] || PluginRoutes.system_info["default_template"]
|
92
|
+
end
|
93
|
+
|
94
|
+
# return theme model with slug theme_slug for this site
|
95
|
+
# theme_slug: (optional) if it is null, this will return current theme for this site
|
96
|
+
def get_theme(theme_slug = nil)
|
97
|
+
self.themes.where(slug: (theme_slug || get_theme_slug)).first_or_create!
|
98
|
+
end
|
99
|
+
|
100
|
+
# return plugin model with slug plugin_slug
|
101
|
+
def get_plugin(plugin_slug)
|
102
|
+
self.plugins.where(slug: plugin_slug).first_or_create!
|
103
|
+
end
|
104
|
+
|
105
|
+
# assign user to this site
|
106
|
+
def assign_user(user)
|
107
|
+
user.assign_site(self)
|
108
|
+
end
|
109
|
+
|
110
|
+
# items per page to be listed on frontend
|
111
|
+
def front_per_page
|
112
|
+
get_option("front_per_page", 10)
|
113
|
+
end
|
114
|
+
|
115
|
+
# items per page to be listed on admin panel
|
116
|
+
def admin_per_page
|
117
|
+
get_option("admin_per_page", 10)
|
118
|
+
end
|
119
|
+
|
120
|
+
# frontend comments status for new comments on frontend
|
121
|
+
def front_comment_status
|
122
|
+
get_option("comment_status", "pending")
|
123
|
+
end
|
124
|
+
|
125
|
+
# auto create default user roles
|
126
|
+
def set_default_user_roles(post_type = nil)
|
127
|
+
user_role = self.user_roles.where({slug: 'admin', term_group: -1}).first_or_create({name: 'Administrator', description: 'Default roles admin'})
|
128
|
+
if user_role.valid?
|
129
|
+
d, m = {}, {}
|
130
|
+
pts = self.post_types.all.pluck(:id)
|
131
|
+
UserRole::ROLES[:post_type].each { |value| d[value[:key]] = pts }
|
132
|
+
UserRole::ROLES[:manager].each { |value| m[value[:key]] = 1 }
|
133
|
+
user_role.set_meta("_post_type_#{self.id}", d || {})
|
134
|
+
user_role.set_meta("_manager_#{self.id}", m || {})
|
135
|
+
end
|
136
|
+
|
137
|
+
user_role = self.user_roles.where({slug: 'editor'}).first_or_create({name: 'Editor', description: 'Editor Role'})
|
138
|
+
if user_role.valid?
|
139
|
+
d = {}
|
140
|
+
if post_type.present?
|
141
|
+
d = user_role.meta[:_post_type] || {}
|
142
|
+
UserRole::ROLES[:post_type].each { |value|
|
143
|
+
value_old = d[value[:key]] || []
|
144
|
+
d[value[:key]] = value_old + [post_type.id]
|
145
|
+
}
|
146
|
+
else
|
147
|
+
pts = self.post_types.all.pluck(:id)
|
148
|
+
UserRole::ROLES[:post_type].each { |value| d[value[:key]] = pts}
|
149
|
+
end
|
150
|
+
|
151
|
+
user_role.set_meta("_post_type_#{self.id}", d || {})
|
152
|
+
end
|
153
|
+
|
154
|
+
user_role = self.user_roles.where({slug: 'contributor'}).first_or_create({name: 'Contributor', description: 'Contributor Role'})
|
155
|
+
if user_role.valid?
|
156
|
+
d = {}
|
157
|
+
if post_type.present?
|
158
|
+
d = user_role.meta[:_post_type] || {}
|
159
|
+
UserRole::ROLES[:post_type].each { |value|
|
160
|
+
value_old = d[value[:key]] || []
|
161
|
+
d[value[:key]] = value_old + [post_type.id] if value[:key].to_s == 'edit'
|
162
|
+
}
|
163
|
+
else
|
164
|
+
pts = self.post_types.all.pluck(:id)
|
165
|
+
UserRole::ROLES[:post_type].each { |value| d[value[:key]] = pts if value[:key].to_s == 'edit'}
|
166
|
+
end
|
167
|
+
|
168
|
+
user_role.set_meta("_post_type_#{self.id}", d || {})
|
169
|
+
end
|
170
|
+
|
171
|
+
unless post_type.present?
|
172
|
+
user_role = self.user_roles.where({slug: 'client', term_group: -1}).first_or_create({name: 'Client', description: 'Default roles client'})
|
173
|
+
if user_role.valid?
|
174
|
+
user_role.set_meta("_post_type_#{self.id}", {})
|
175
|
+
user_role.set_meta("_manager_#{self.id}", {})
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
end
|
180
|
+
|
181
|
+
# return main site
|
182
|
+
def self.main_site
|
183
|
+
Site.first
|
184
|
+
end
|
185
|
+
|
186
|
+
# check if this site is the main site
|
187
|
+
# main site is a site that doesn't have slug
|
188
|
+
def main_site?
|
189
|
+
@_is_default_site ||= (Site.first.id == self.id)
|
190
|
+
end
|
191
|
+
alias_method :is_default?, :main_site?
|
192
|
+
|
193
|
+
# list all users of current site
|
194
|
+
def users
|
195
|
+
if PluginRoutes.system_info["users_share_sites"]
|
196
|
+
User.where(site_id: -1)
|
197
|
+
else
|
198
|
+
User.where(site_id: self.id)#.where("site_id = ? or role = ?", self.id, 'admin')
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
def users_include_admins
|
203
|
+
if PluginRoutes.system_info["users_share_sites"]
|
204
|
+
User.where(site_id: -1)
|
205
|
+
else
|
206
|
+
User.where("site_id = ? or role = ?", self.id, 'admin')
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
# return upload directory for this site
|
211
|
+
def upload_directory(inner_directory = nil)
|
212
|
+
File.join(Rails.public_path, "/media/#{self.id}", inner_directory.to_s)
|
213
|
+
end
|
214
|
+
|
215
|
+
# return an available slug for a new post
|
216
|
+
# slug: (String) possible slug value
|
217
|
+
# sample: ("<!--:es-->features-1<!--:--><!--:en-->caract-1<!--:-->") | ("features")
|
218
|
+
# return: (String) available slugs
|
219
|
+
def get_valid_post_slug(slug)
|
220
|
+
slugs = slug.translations
|
221
|
+
if slugs.present?
|
222
|
+
slugs.each do |k, v|
|
223
|
+
slugs[k] = get_valid_post_slug(v)
|
224
|
+
end
|
225
|
+
slugs.to_translate
|
226
|
+
else
|
227
|
+
res = slug
|
228
|
+
(1..9999).each do |i|
|
229
|
+
break unless self.posts.find_by_slug(res)
|
230
|
+
res = "#{slug}-#{i}"
|
231
|
+
end
|
232
|
+
res
|
233
|
+
end
|
234
|
+
end
|
235
|
+
|
236
|
+
private
|
237
|
+
# destroy all things before site destroy
|
238
|
+
def destroy_site
|
239
|
+
unless PluginRoutes.system_info["users_share_sites"]
|
240
|
+
User.where(site_id: self.id).destroy_all
|
241
|
+
end
|
242
|
+
FileUtils.rm_rf(upload_directory) # destroy current media directory
|
243
|
+
end
|
244
|
+
|
245
|
+
def default_settings
|
246
|
+
default_post_type = [
|
247
|
+
{
|
248
|
+
name: 'Post',
|
249
|
+
description: 'Posts',
|
250
|
+
options: {
|
251
|
+
has_category: true,
|
252
|
+
has_tags: true,
|
253
|
+
not_deleted: true,
|
254
|
+
has_summary: true,
|
255
|
+
has_content: true,
|
256
|
+
has_comments: true,
|
257
|
+
has_picture: true,
|
258
|
+
has_template: true,
|
259
|
+
}
|
260
|
+
},
|
261
|
+
{
|
262
|
+
name: 'Page',
|
263
|
+
description: 'Pages',
|
264
|
+
options: {
|
265
|
+
has_category: false,
|
266
|
+
has_tags: false,
|
267
|
+
not_deleted: true,
|
268
|
+
has_summary: false,
|
269
|
+
has_content: true,
|
270
|
+
has_comments: false,
|
271
|
+
has_picture: true,
|
272
|
+
has_template: true,
|
273
|
+
}
|
274
|
+
}
|
275
|
+
]
|
276
|
+
|
277
|
+
default_post_type.each do |pt|
|
278
|
+
model_pt = self.post_types.create({
|
279
|
+
name: pt[:name],
|
280
|
+
slug: pt[:name].to_s.parameterize,
|
281
|
+
description: pt[:description]
|
282
|
+
})
|
283
|
+
if model_pt.valid?
|
284
|
+
model_pt.set_meta('_default', pt[:options])
|
285
|
+
if pt[:options][:has_category]
|
286
|
+
model_pt.default_category
|
287
|
+
end
|
288
|
+
end
|
289
|
+
end
|
290
|
+
|
291
|
+
# nav menus
|
292
|
+
@sidebar = self.sidebars.new({name: 'default sidebar', slug: 'default-sidebar'})
|
293
|
+
@nav_menu = self.nav_menus.new({name: "Main Menu", slug: "main_menu"})
|
294
|
+
@sidebar.save
|
295
|
+
|
296
|
+
if @nav_menu.save
|
297
|
+
self.post_types.all.each do |pt|
|
298
|
+
if pt.slug == "post"
|
299
|
+
title = "Sample Post"
|
300
|
+
slug = 'sample-post'
|
301
|
+
content = "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pharetra ut augue in posuere. Nulla non malesuada dui. Sed egestas tortor ut purus tempor sodales. Duis non sollicitudin nulla, quis mollis neque. Integer sit amet augue ac neque varius auctor. Vestibulum malesuada leo leo, at semper libero efficitur nec. Etiam semper nisi ac nisi ullamcorper, sed tincidunt purus elementum. Mauris ac congue nibh. Quisque pretium eget leo nec suscipit. </p> <p> Vestibulum ultrices orci ut congue interdum. Morbi dolor nunc, imperdiet vel risus semper, tempor dapibus urna. Phasellus luctus pharetra enim quis volutpat. Integer tristique urna nec malesuada ullamcorper. Curabitur dictum, lectus id ultrices rhoncus, ante neque auctor erat, ut sodales nisi odio sit amet lorem. In hac habitasse platea dictumst. Quisque orci orci, hendrerit at luctus tristique, lobortis in diam. Curabitur ligula enim, rhoncus ut vestibulum a, consequat sit amet nisi. Aliquam bibendum fringilla ultrices. Aliquam erat volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In justo mi, congue in rhoncus lobortis, facilisis in est. Nam et rhoncus purus. </p> <p> Sed sagittis auctor lectus at rutrum. Morbi ultricies felis mi, ut scelerisque augue facilisis eu. In molestie quam ex. Quisque ut sapien sed odio tempus imperdiet. In id accumsan massa. Morbi quis nunc ullamcorper, interdum enim eu, finibus purus. Vestibulum ac fermentum augue, at tempus ante. Aliquam ultrices, purus ut porttitor gravida, dui augue dignissim massa, ac tempor ante dolor at arcu. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse placerat risus est, eget varius mi ultricies in. Duis non odio ut felis dapibus eleifend. In fringilla enim lobortis placerat efficitur. </p> <p> Nulla sodales faucibus urna, quis viverra dolor facilisis sollicitudin. Aenean ac egestas nibh. Nam non tortor eget nibh scelerisque fermentum. Etiam ornare, nunc ut luctus mollis, ante dolor consectetur augue, non scelerisque odio est a nulla. Nullam cursus egestas nulla, nec commodo nibh suscipit ut. Mauris ut felis sem. Aenean at mi at nisi dictum blandit sit amet at erat. Etiam eget lobortis tellus. Curabitur in commodo arcu, at vehicula tortor. </p>"
|
302
|
+
else
|
303
|
+
title = "Welcome"
|
304
|
+
slug = 'welcome'
|
305
|
+
content = "<p style='text-align: center;'><img width='155' height='155' src='http://camaleon.tuzitio.com/media/132/logo2.png' alt='logo' /></p><p><strong>Camaleon CMS</strong> is a free and open-source tool and a fexible content management system (CMS) based on <a href='rubyonrails.org'>Ruby on Rails 4</a> and MySQL. </p> <p>With Camaleon you can do the following:</p> <ul> <li>Create instantly a lot of sites in the same installation</li> <li>Manage your content information in several languages</li> <li>Extend current functionality by plugins (MVC structure and no more echo or prints anywhere)</li> <li>Create or install different themes for each site</li> <li>Create your own structure without coding anything (adapt Camaleon as you want and not you for Camaleon)</li> <li>Create your store and start to sell your products using our plugins</li> <li>Avoid web attacks</li> <li>Compare the speed and enjoy the speed of your new Camaleon site</li> <li>Customize or create your themes for mobile support</li> <li>Support more visitors at the same time</li> <li>Manage your information with a panel like wordpress </li> <li>All urls are oriented for SEO</li> <li>Multiples roles of users</li> </ul>"
|
306
|
+
end
|
307
|
+
user = self.users.admin_scope.first
|
308
|
+
user = self.users.admin_scope.create({email: 'admin@local.com', username: 'admin', password: 'admin', password_confirmation: 'admin' }) unless user.present?
|
309
|
+
post = pt.posts.create({title: title, slug: slug, content: content, user_id: user.id, status: 'published'})
|
310
|
+
@nav_menu.append_menu_item({label: title, type: 'post', link: post.id})
|
311
|
+
end
|
312
|
+
end
|
313
|
+
|
314
|
+
# default theme
|
315
|
+
# self.themes.create(slug: PluginRoutes.system_info["default_template"])
|
316
|
+
# self.set_option('_theme', PluginRoutes.system_info["default_template"])
|
317
|
+
end
|
318
|
+
|
319
|
+
def set_all_users
|
320
|
+
User.all.each do |user|
|
321
|
+
self.assign_user(user)
|
322
|
+
end
|
323
|
+
end
|
324
|
+
|
325
|
+
# update all routes of the system
|
326
|
+
def update_routes
|
327
|
+
if self.id == Site.first.id
|
328
|
+
PluginRoutes.system_info_set("base_domain", self.slug) if self.slug.present?
|
329
|
+
# self.update_column("slug", "")
|
330
|
+
end
|
331
|
+
PluginRoutes.reload
|
332
|
+
end
|
333
|
+
|
334
|
+
def before_validating
|
335
|
+
#overwriting/skipping term_taxonomy validations
|
336
|
+
end
|
337
|
+
end
|