camaleon_cms_rails6 2.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +202 -0
- data/Rakefile +32 -0
- data/app/apps/plugins/attack/admin_controller.rb +17 -0
- data/app/apps/plugins/attack/attack_helper.rb +94 -0
- data/app/apps/plugins/attack/config/config.json +31 -0
- data/app/apps/plugins/attack/config/custom_models.rb +8 -0
- data/app/apps/plugins/attack/config/locales/readme.txt +1 -0
- data/app/apps/plugins/attack/config/locales/translation.yml +129 -0
- data/app/apps/plugins/attack/config/routes_admin.txt +2 -0
- data/app/apps/plugins/attack/models/attack.rb +3 -0
- data/app/apps/plugins/attack/views/admin/settings.html.erb +49 -0
- data/app/apps/plugins/authoring_post/authoring_post_helper.rb +51 -0
- data/app/apps/plugins/authoring_post/config/config.json +24 -0
- data/app/apps/plugins/front_cache/admin_controller.rb +29 -0
- data/app/apps/plugins/front_cache/config/config.json +21 -0
- data/app/apps/plugins/front_cache/config/initializer.rb +7 -0
- data/app/apps/plugins/front_cache/config/locales/readme.txt +1 -0
- data/app/apps/plugins/front_cache/config/locales/translation.yml +149 -0
- data/app/apps/plugins/front_cache/config/routes_admin.txt +3 -0
- data/app/apps/plugins/front_cache/front_cache_helper.rb +137 -0
- data/app/apps/plugins/front_cache/views/admin/settings.html.erb +81 -0
- data/app/apps/plugins/visibility_post/assets/js/form.js +30 -0
- data/app/apps/plugins/visibility_post/config/config.json +24 -0
- data/app/apps/plugins/visibility_post/visibility_post_helper.rb +124 -0
- data/app/apps/themes/camaleon_first/assets/css/magnific-ver.css +394 -0
- data/app/apps/themes/camaleon_first/assets/css/main.css +16 -0
- data/app/apps/themes/camaleon_first/assets/css/style-ver.css.scss +251 -0
- data/app/apps/themes/camaleon_first/assets/css/wpbase.css +1 -0
- data/app/apps/themes/camaleon_first/assets/images/empe.jpg +0 -0
- data/app/apps/themes/camaleon_first/assets/images/image.png +0 -0
- data/app/apps/themes/camaleon_first/assets/images/loader.gif +0 -0
- data/app/apps/themes/camaleon_first/assets/images/zoom.png +0 -0
- data/app/apps/themes/camaleon_first/assets/js/hover.zoom.js +67 -0
- data/app/apps/themes/camaleon_first/assets/js/magnific.min.js +3 -0
- data/app/apps/themes/camaleon_first/assets/js/main-ver.js +46 -0
- data/app/apps/themes/camaleon_first/assets/js/main.js +18 -0
- data/app/apps/themes/camaleon_first/assets/js/modernizr.custom.js +4 -0
- data/app/apps/themes/camaleon_first/config/config.json +14 -0
- data/app/apps/themes/camaleon_first/main_helper.rb +33 -0
- data/app/apps/themes/camaleon_first/views/index.html.erb +28 -0
- data/app/apps/themes/camaleon_first/views/layouts/camaleon_cms/mailer.html.erb +22 -0
- data/app/apps/themes/camaleon_first/views/layouts/index.html.erb +84 -0
- data/app/apps/themes/camaleon_first/views/mailer.html.erb +4 -0
- data/app/apps/themes/camaleon_first/views/partials/readme.txt +1 -0
- data/app/apps/themes/camaleon_first/views/template_sample_page.html.erb +6 -0
- data/app/apps/themes/default/assets/css/main.css +13 -0
- data/app/apps/themes/default/assets/css/style.css.scss +3398 -0
- data/app/apps/themes/default/assets/css/styles.css.scss +175 -0
- data/app/apps/themes/default/assets/genericons/COPYING.txt +9 -0
- data/app/apps/themes/default/assets/genericons/Genericons-Regular.otf +0 -0
- data/app/apps/themes/default/assets/genericons/LICENSE.txt +339 -0
- data/app/apps/themes/default/assets/genericons/README.txt +123 -0
- data/app/apps/themes/default/assets/genericons/font/genericons-regular-webfont.eot +0 -0
- data/app/apps/themes/default/assets/genericons/font/genericons-regular-webfont.svg +135 -0
- data/app/apps/themes/default/assets/genericons/font/genericons-regular-webfont.ttf +0 -0
- data/app/apps/themes/default/assets/genericons/font/genericons-regular-webfont.woff +0 -0
- data/app/apps/themes/default/assets/genericons/genericons.css +197 -0
- data/app/apps/themes/default/assets/images/circle.png +0 -0
- data/app/apps/themes/default/assets/images/dotted-line-2x.png +0 -0
- data/app/apps/themes/default/assets/images/dotted-line-light-2x.png +0 -0
- data/app/apps/themes/default/assets/images/dotted-line-light.png +0 -0
- data/app/apps/themes/default/assets/images/dotted-line.png +0 -0
- data/app/apps/themes/default/assets/images/headers/circle-thumbnail.png +0 -0
- data/app/apps/themes/default/assets/images/headers/circle.png +0 -0
- data/app/apps/themes/default/assets/images/headers/diamond-thumbnail.png +0 -0
- data/app/apps/themes/default/assets/images/headers/diamond.png +0 -0
- data/app/apps/themes/default/assets/images/headers/star-thumbnail.png +0 -0
- data/app/apps/themes/default/assets/images/headers/star.png +0 -0
- data/app/apps/themes/default/assets/images/image.png +0 -0
- data/app/apps/themes/default/assets/images/search-icon-2x.png +0 -0
- data/app/apps/themes/default/assets/images/search-icon.png +0 -0
- data/app/apps/themes/default/assets/js/main.js +13 -0
- data/app/apps/themes/default/config/config.json +19 -0
- data/app/apps/themes/default/default_helper.rb +28 -0
- data/app/apps/themes/default/views/admin/settings.html.erb +0 -0
- data/app/apps/themes/default/views/category.html.erb +16 -0
- data/app/apps/themes/default/views/index.html.erb +35 -0
- data/app/apps/themes/default/views/layouts/index.html.erb +84 -0
- data/app/apps/themes/default/views/page.html.erb +14 -0
- data/app/apps/themes/default/views/partials/_breadcrumb.html.erb +10 -0
- data/app/apps/themes/default/views/partials/_categories_list.html.erb +23 -0
- data/app/apps/themes/default/views/partials/_comments.html.erb +40 -0
- data/app/apps/themes/default/views/partials/_comments_list.html.erb +20 -0
- data/app/apps/themes/default/views/partials/_flash_messages.html.erb +26 -0
- data/app/apps/themes/default/views/partials/_forms.html.erb +19 -0
- data/app/apps/themes/default/views/partials/_post_list_item.html.erb +34 -0
- data/app/apps/themes/default/views/partials/_search_form.html.erb +8 -0
- data/app/apps/themes/default/views/partials/_sidebar.html.erb +50 -0
- data/app/apps/themes/default/views/post.html.erb +14 -0
- data/app/apps/themes/default/views/post_tag.html.erb +14 -0
- data/app/apps/themes/default/views/post_type.html.erb +33 -0
- data/app/apps/themes/default/views/search.html.erb +17 -0
- data/app/apps/themes/new/assets/css/main.css +14 -0
- data/app/apps/themes/new/assets/css/styles.css.scss +175 -0
- data/app/apps/themes/new/assets/images/image.png +0 -0
- data/app/apps/themes/new/assets/js/main.js +14 -0
- data/app/apps/themes/new/config/config.json +26 -0
- data/app/apps/themes/new/custom_helper.rb +31 -0
- data/app/apps/themes/new/image.png +0 -0
- data/app/apps/themes/new/views/admin/settings.html.erb +1 -0
- data/app/apps/themes/new/views/category.html.erb +33 -0
- data/app/apps/themes/new/views/index.html.erb +71 -0
- data/app/apps/themes/new/views/layouts/_footer.html.erb +17 -0
- data/app/apps/themes/new/views/layouts/_header.html.erb +38 -0
- data/app/apps/themes/new/views/layouts/index.html.erb +32 -0
- data/app/apps/themes/new/views/page.html.erb +16 -0
- data/app/apps/themes/new/views/post.html.erb +20 -0
- data/app/apps/themes/new/views/post_tag.html.erb +22 -0
- data/app/apps/themes/new/views/post_type.html.erb +33 -0
- data/app/apps/themes/new/views/search.html.erb +18 -0
- data/app/assets/config/camaleon-cms.js +7 -0
- data/app/assets/fonts/camaleon_cms/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/fonts/camaleon_cms/glyphicons-halflings-regular.svg +288 -0
- data/app/assets/fonts/camaleon_cms/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/fonts/camaleon_cms/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/fonts/camaleon_cms/glyphicons-halflings-regular.woff2 +0 -0
- data/app/assets/images/camaleon.png +0 -0
- data/app/assets/images/camaleon_cms/admin/admin_spinner.gif +0 -0
- data/app/assets/images/camaleon_cms/admin/glyphicons-halflings.png +0 -0
- data/app/assets/images/camaleon_cms/admin/intro/menus.png +0 -0
- data/app/assets/images/camaleon_cms/admin/no_image.jpg +0 -0
- data/app/assets/images/camaleon_cms/bg-tree.jpeg +0 -0
- data/app/assets/images/camaleon_cms/camaleon-dark.png +0 -0
- data/app/assets/images/camaleon_cms/camaleon.png +0 -0
- data/app/assets/images/camaleon_cms/category-icon.png +0 -0
- data/app/assets/images/camaleon_cms/favicon.ico +0 -0
- data/app/assets/images/camaleon_cms/image-not-found.png +0 -0
- data/app/assets/images/camaleon_cms/language/de.png +0 -0
- data/app/assets/images/camaleon_cms/language/en.png +0 -0
- data/app/assets/images/camaleon_cms/language/es.png +0 -0
- data/app/assets/images/camaleon_cms/language/fr.png +0 -0
- data/app/assets/images/camaleon_cms/language/it.png +0 -0
- data/app/assets/images/camaleon_cms/language/nl.png +0 -0
- data/app/assets/images/camaleon_cms/language/pl.png +0 -0
- data/app/assets/images/camaleon_cms/language/pt-BR.png +0 -0
- data/app/assets/images/camaleon_cms/language/pt.png +0 -0
- data/app/assets/images/camaleon_cms/language/ru.png +0 -0
- data/app/assets/images/camaleon_cms/language/uk.png +0 -0
- data/app/assets/images/camaleon_cms/language/zh-CN.png +0 -0
- data/app/assets/images/camaleon_cms/loader.gif +0 -0
- data/app/assets/images/camaleon_cms/users/no-image.jpg +0 -0
- data/app/assets/javascripts/camaleon_cms/admin/_actions.js +91 -0
- data/app/assets/javascripts/camaleon_cms/admin/_bootstrap-datepicker.js +2558 -0
- data/app/assets/javascripts/camaleon_cms/admin/_bootstrap-select.js +7 -0
- data/app/assets/javascripts/camaleon_cms/admin/_custom_fields.js +273 -0
- data/app/assets/javascripts/camaleon_cms/admin/_data.js +69 -0
- data/app/assets/javascripts/camaleon_cms/admin/_i18n.js +32 -0
- data/app/assets/javascripts/camaleon_cms/admin/_jquery-ui.min.js +10 -0
- data/app/assets/javascripts/camaleon_cms/admin/_jquery.slugify.js +67 -0
- data/app/assets/javascripts/camaleon_cms/admin/_jquery.tagsinput.min.js +1 -0
- data/app/assets/javascripts/camaleon_cms/admin/_libraries.js +136 -0
- data/app/assets/javascripts/camaleon_cms/admin/_modal.js +156 -0
- data/app/assets/javascripts/camaleon_cms/admin/_post.js +317 -0
- data/app/assets/javascripts/camaleon_cms/admin/_posttype.js.coffee +27 -0
- data/app/assets/javascripts/camaleon_cms/admin/_translator.js +123 -0
- data/app/assets/javascripts/camaleon_cms/admin/_underscore.js +1536 -0
- data/app/assets/javascripts/camaleon_cms/admin/_user_profile.js +28 -0
- data/app/assets/javascripts/camaleon_cms/admin/admin-basic-manifest.js +3 -0
- data/app/assets/javascripts/camaleon_cms/admin/admin-manifest.js +55 -0
- data/app/assets/javascripts/camaleon_cms/admin/bootstrap-colorpicker.js +540 -0
- data/app/assets/javascripts/camaleon_cms/admin/custom_fields_form.js +94 -0
- data/app/assets/javascripts/camaleon_cms/admin/introjs/_intro.min.js +1317 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery-sieve.js +6 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery.nestable.js +485 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery.validate.js +123 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/de.js +20 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/es.js +27 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/fr.js +49 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/it.js +23 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/nl.js +33 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/pt-BR.js +74 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/ru.js +19 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/uk.js +23 -0
- data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/zh-CN.js +23 -0
- data/app/assets/javascripts/camaleon_cms/admin/lte/app.js +758 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/_moment.js +3606 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/ar.js +136 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/ca.js +79 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/de.js +76 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/es.js +79 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/fr.js +62 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/it.js +70 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/ja.js +65 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/nl.js +71 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/pl.js +105 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/pt-BR.js +60 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/pt.js +64 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/ru.js +166 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/uk.js +151 -0
- data/app/assets/javascripts/camaleon_cms/admin/momentjs/zh-CN.js +127 -0
- data/app/assets/javascripts/camaleon_cms/admin/nav_menu.js.coffee +139 -0
- data/app/assets/javascripts/camaleon_cms/admin/tageditor/_jquery.caret.min.js +2 -0
- data/app/assets/javascripts/camaleon_cms/admin/tageditor/_jquery.tag-editor.js +352 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/de.js +219 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/en.js +179 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/es.js +177 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/fr.js +219 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/it.js +219 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/nl.js +219 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/pt-BR.js +219 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/readme.md +3 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/ru.js +219 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/uk.js +219 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/zh-CN.js +228 -0
- data/app/assets/javascripts/camaleon_cms/admin/tinymce/plugins/filemanager/plugin.min.js +30 -0
- data/app/assets/javascripts/camaleon_cms/admin/uploader/_cropper.min.js +3003 -0
- data/app/assets/javascripts/camaleon_cms/admin/uploader/_jquery.form.js +1277 -0
- data/app/assets/javascripts/camaleon_cms/admin/uploader/_jquery.uploadfile.min.js +8 -0
- data/app/assets/javascripts/camaleon_cms/admin/uploader/_media_manager.js.coffee +455 -0
- data/app/assets/javascripts/camaleon_cms/admin/uploader/uploader_manifest.js +5 -0
- data/app/assets/javascripts/camaleon_cms/bootstrap.min.js +7 -0
- data/app/assets/stylesheets/camaleon_cms/admin/_bootstrap-datepicker.css.scss +373 -0
- data/app/assets/stylesheets/camaleon_cms/admin/_bootstrap-select.css +7 -0
- data/app/assets/stylesheets/camaleon_cms/admin/_custom_admin.css.scss +359 -0
- data/app/assets/stylesheets/camaleon_cms/admin/_jquery.tagsinput.css +72 -0
- data/app/assets/stylesheets/camaleon_cms/admin/admin-basic-manifest.css +16 -0
- data/app/assets/stylesheets/camaleon_cms/admin/admin-manifest.css +28 -0
- data/app/assets/stylesheets/camaleon_cms/admin/colorpicker.css.scss +96 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/bg.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/colorpicker/alpha.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/colorpicker/hue.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/colorpicker/saturation.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/girls-1.jpg +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/jquery/resize-icon.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/loading.gif +1 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/logo-small.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/logo.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/no_image.jpg +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/rormeleon-white.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/img/thumb_no_found.jpg +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/introjs/_introjs.min.css +1 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/_jquery-ui.scss +1226 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-icons_454545_256x240.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-icons_888888_256x240.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/_admin.css.scss +4561 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-black-light.css +176 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-black.css +154 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-blue-light.css +167 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-blue.css +142 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-green-light.css +156 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-green.css +134 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-purple-light.css +156 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-purple.css +135 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-red-light.css +156 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-red.css +134 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-yellow-light.css +156 -0
- data/app/assets/stylesheets/camaleon_cms/admin/lte/skins/skin-yellow.css +134 -0
- data/app/assets/stylesheets/camaleon_cms/admin/nestable/jquery.nestable.css +103 -0
- data/app/assets/stylesheets/camaleon_cms/admin/tageditor/_jquery.tag-editor.css.scss +49 -0
- data/app/assets/stylesheets/camaleon_cms/admin/uploader/_cropper.min.css +9 -0
- data/app/assets/stylesheets/camaleon_cms/admin/uploader/_uploadfile.css.scss +256 -0
- data/app/assets/stylesheets/camaleon_cms/admin/uploader/uploader_manifest.css +4 -0
- data/app/assets/stylesheets/camaleon_cms/admin/widgets.css.scss +26 -0
- data/app/assets/stylesheets/camaleon_cms/bootstrap.min.css.scss +6799 -0
- data/app/controllers/camaleon_cms/admin/appearances/nav_menus_controller.rb +129 -0
- data/app/controllers/camaleon_cms/admin/appearances/themes_controller.rb +29 -0
- data/app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb +41 -0
- data/app/controllers/camaleon_cms/admin/appearances/widgets/main_controller.rb +55 -0
- data/app/controllers/camaleon_cms/admin/appearances/widgets/sidebar_controller.rb +56 -0
- data/app/controllers/camaleon_cms/admin/categories_controller.rb +80 -0
- data/app/controllers/camaleon_cms/admin/comments_controller.rb +90 -0
- data/app/controllers/camaleon_cms/admin/installers_controller.rb +32 -0
- data/app/controllers/camaleon_cms/admin/media_controller.rb +109 -0
- data/app/controllers/camaleon_cms/admin/plugins_controller.rb +46 -0
- data/app/controllers/camaleon_cms/admin/post_tags_controller.rb +81 -0
- data/app/controllers/camaleon_cms/admin/posts/drafts_controller.rb +58 -0
- data/app/controllers/camaleon_cms/admin/posts_controller.rb +212 -0
- data/app/controllers/camaleon_cms/admin/sessions_controller.rb +172 -0
- data/app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb +108 -0
- data/app/controllers/camaleon_cms/admin/settings/post_types_controller.rb +63 -0
- data/app/controllers/camaleon_cms/admin/settings/sites_controller.rb +87 -0
- data/app/controllers/camaleon_cms/admin/settings_controller.rb +86 -0
- data/app/controllers/camaleon_cms/admin/user_roles_controller.rb +74 -0
- data/app/controllers/camaleon_cms/admin/users_controller.rb +124 -0
- data/app/controllers/camaleon_cms/admin_controller.rb +82 -0
- data/app/controllers/camaleon_cms/apps/plugins_admin_controller.rb +19 -0
- data/app/controllers/camaleon_cms/apps/plugins_front_controller.rb +19 -0
- data/app/controllers/camaleon_cms/apps/themes_admin_controller.rb +12 -0
- data/app/controllers/camaleon_cms/apps/themes_front_controller.rb +12 -0
- data/app/controllers/camaleon_cms/camaleon_controller.rb +139 -0
- data/app/controllers/camaleon_cms/frontend_controller.rb +277 -0
- data/app/controllers/concerns/camaleon_cms/frontend_concern.rb +66 -0
- data/app/decorators/camaleon_cms/application_decorator.rb +54 -0
- data/app/decorators/camaleon_cms/category_decorator.rb +58 -0
- data/app/decorators/camaleon_cms/custom_field_decorator.rb +11 -0
- data/app/decorators/camaleon_cms/custom_fields_concern.rb +81 -0
- data/app/decorators/camaleon_cms/metas_decorator_methods.rb +11 -0
- data/app/decorators/camaleon_cms/nav_menu_item_decorator.rb +4 -0
- data/app/decorators/camaleon_cms/plugin_decorator.rb +3 -0
- data/app/decorators/camaleon_cms/post_comment_decorator.rb +39 -0
- data/app/decorators/camaleon_cms/post_decorator.rb +251 -0
- data/app/decorators/camaleon_cms/post_tag_decorator.rb +45 -0
- data/app/decorators/camaleon_cms/post_type_decorator.rb +87 -0
- data/app/decorators/camaleon_cms/site_decorator.rb +200 -0
- data/app/decorators/camaleon_cms/term_taxonomy_decorator.rb +93 -0
- data/app/decorators/camaleon_cms/theme_decorator.rb +18 -0
- data/app/decorators/camaleon_cms/user_decorator.rb +73 -0
- data/app/decorators/camaleon_cms/user_role_decorator.rb +12 -0
- data/app/decorators/camaleon_cms/widget_decorator.rb +4 -0
- data/app/helpers/camaleon_cms/admin/application_helper.rb +36 -0
- data/app/helpers/camaleon_cms/admin/breadcrumb_helper.rb +15 -0
- data/app/helpers/camaleon_cms/admin/category_helper.rb +24 -0
- data/app/helpers/camaleon_cms/admin/custom_fields_helper.rb +354 -0
- data/app/helpers/camaleon_cms/admin/menus_helper.rb +182 -0
- data/app/helpers/camaleon_cms/admin/post_type_helper.rb +67 -0
- data/app/helpers/camaleon_cms/camaleon_helper.rb +88 -0
- data/app/helpers/camaleon_cms/captcha_helper.rb +93 -0
- data/app/helpers/camaleon_cms/comment_helper.rb +48 -0
- data/app/helpers/camaleon_cms/content_helper.rb +29 -0
- data/app/helpers/camaleon_cms/email_helper.rb +56 -0
- data/app/helpers/camaleon_cms/frontend/application_helper.rb +36 -0
- data/app/helpers/camaleon_cms/frontend/content_select_helper.rb +161 -0
- data/app/helpers/camaleon_cms/frontend/nav_menu_helper.rb +237 -0
- data/app/helpers/camaleon_cms/frontend/seo_helper.rb +86 -0
- data/app/helpers/camaleon_cms/frontend/site_helper.rb +70 -0
- data/app/helpers/camaleon_cms/hooks_helper.rb +57 -0
- data/app/helpers/camaleon_cms/html_helper.rb +134 -0
- data/app/helpers/camaleon_cms/plugins_helper.rb +173 -0
- data/app/helpers/camaleon_cms/session_helper.rb +161 -0
- data/app/helpers/camaleon_cms/short_code_helper.rb +283 -0
- data/app/helpers/camaleon_cms/site_helper.rb +103 -0
- data/app/helpers/camaleon_cms/theme_helper.rb +95 -0
- data/app/helpers/camaleon_cms/uploader_helper.rb +329 -0
- data/app/helpers/camaleon_cms/user_roles_helper.rb +13 -0
- data/app/mailers/camaleon_cms/html_mailer.rb +87 -0
- data/app/models/camaleon_cms/ability.rb +109 -0
- data/app/models/camaleon_cms/category.rb +52 -0
- data/app/models/camaleon_cms/custom_field.rb +35 -0
- data/app/models/camaleon_cms/custom_field_group.rb +136 -0
- data/app/models/camaleon_cms/custom_fields_relationship.rb +27 -0
- data/app/models/camaleon_cms/media.rb +54 -0
- data/app/models/camaleon_cms/meta.rb +4 -0
- data/app/models/camaleon_cms/nav_menu.rb +29 -0
- data/app/models/camaleon_cms/nav_menu_item.rb +64 -0
- data/app/models/camaleon_cms/plugin.rb +76 -0
- data/app/models/camaleon_cms/post.rb +265 -0
- data/app/models/camaleon_cms/post_comment.rb +44 -0
- data/app/models/camaleon_cms/post_default.rb +78 -0
- data/app/models/camaleon_cms/post_relationship.rb +20 -0
- data/app/models/camaleon_cms/post_tag.rb +7 -0
- data/app/models/camaleon_cms/post_type.rb +189 -0
- data/app/models/camaleon_cms/site.rb +242 -0
- data/app/models/camaleon_cms/term_relationship.rb +18 -0
- data/app/models/camaleon_cms/term_taxonomy.rb +61 -0
- data/app/models/camaleon_cms/theme.rb +31 -0
- data/app/models/camaleon_cms/user.rb +18 -0
- data/app/models/camaleon_cms/user_role.rb +138 -0
- data/app/models/camaleon_cms/widget.rb +5 -0
- data/app/models/camaleon_cms/widget/assigned.rb +27 -0
- data/app/models/camaleon_cms/widget/main.rb +44 -0
- data/app/models/camaleon_cms/widget/sidebar.rb +20 -0
- data/app/models/concerns/camaleon_cms/categories_tags_for_posts.rb +132 -0
- data/app/models/concerns/camaleon_cms/custom_fields_read.rb +310 -0
- data/app/models/concerns/camaleon_cms/metas.rb +138 -0
- data/app/models/concerns/camaleon_cms/site_default_settings.rb +87 -0
- data/app/models/concerns/camaleon_cms/user_methods.rb +133 -0
- data/app/models/plugins.rb +5 -0
- data/app/models/themes.rb +5 -0
- data/app/uploaders/camaleon_cms_aws_uploader.rb +132 -0
- data/app/uploaders/camaleon_cms_local_uploader.rb +108 -0
- data/app/uploaders/camaleon_cms_uploader.rb +164 -0
- data/app/views/camaleon_cms/404.html.erb +4 -0
- data/app/views/camaleon_cms/500.html.erb +4 -0
- data/app/views/camaleon_cms/_flash_messages.html.erb +39 -0
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_custom_fields.html.erb +6 -0
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_custom_menus.html.erb +42 -0
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_external_menu.html.erb +23 -0
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_form.html.erb +13 -0
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_left_menu_items.html.erb +77 -0
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_menu_items.html.erb +19 -0
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_menu_items_list.html.erb +12 -0
- data/app/views/camaleon_cms/admin/appearances/nav_menus/_menu_options.html.erb +21 -0
- data/app/views/camaleon_cms/admin/appearances/nav_menus/index.html.erb +14 -0
- data/app/views/camaleon_cms/admin/appearances/themes/index.html.erb +70 -0
- data/app/views/camaleon_cms/admin/appearances/themes/preview.html.erb +1 -0
- data/app/views/camaleon_cms/admin/appearances/themes/theme_load_data.html.erb +40 -0
- data/app/views/camaleon_cms/admin/appearances/widgets/assign/_form.html.erb +35 -0
- data/app/views/camaleon_cms/admin/appearances/widgets/main/_sidebar.html.erb +29 -0
- data/app/views/camaleon_cms/admin/appearances/widgets/main/form.html.erb +27 -0
- data/app/views/camaleon_cms/admin/appearances/widgets/main/index.html.erb +41 -0
- data/app/views/camaleon_cms/admin/appearances/widgets/sidebar/form.html.erb +23 -0
- data/app/views/camaleon_cms/admin/categories/_form.html.erb +34 -0
- data/app/views/camaleon_cms/admin/categories/edit.html.erb +14 -0
- data/app/views/camaleon_cms/admin/categories/index.html.erb +68 -0
- data/app/views/camaleon_cms/admin/comments/form.html.erb +12 -0
- data/app/views/camaleon_cms/admin/comments/form_answer.html.erb +12 -0
- data/app/views/camaleon_cms/admin/comments/index.html.erb +21 -0
- data/app/views/camaleon_cms/admin/comments/list.html.erb +36 -0
- data/app/views/camaleon_cms/admin/dashboard.html.erb +25 -0
- data/app/views/camaleon_cms/admin/installers/form.html.erb +19 -0
- data/app/views/camaleon_cms/admin/installers/welcome.html.erb +8 -0
- data/app/views/camaleon_cms/admin/media/_render_file_item.html.erb +57 -0
- data/app/views/camaleon_cms/admin/media/index.html.erb +70 -0
- data/app/views/camaleon_cms/admin/plugins/_plugins_list.html.erb +43 -0
- data/app/views/camaleon_cms/admin/plugins/index.html.erb +43 -0
- data/app/views/camaleon_cms/admin/post_tags/_form.html.erb +26 -0
- data/app/views/camaleon_cms/admin/post_tags/edit.html.erb +14 -0
- data/app/views/camaleon_cms/admin/post_tags/index.html.erb +59 -0
- data/app/views/camaleon_cms/admin/posts/_filter_posts.html.erb +5 -0
- data/app/views/camaleon_cms/admin/posts/_sidebar.html.erb +156 -0
- data/app/views/camaleon_cms/admin/posts/form.html.erb +96 -0
- data/app/views/camaleon_cms/admin/posts/index.html.erb +112 -0
- data/app/views/camaleon_cms/admin/posts/show.html.erb +20 -0
- data/app/views/camaleon_cms/admin/search.html.erb +73 -0
- data/app/views/camaleon_cms/admin/sessions/forgot.html.erb +44 -0
- data/app/views/camaleon_cms/admin/sessions/login.html.erb +47 -0
- data/app/views/camaleon_cms/admin/sessions/register.html.erb +63 -0
- data/app/views/camaleon_cms/admin/settings/_configuration_settings.html.erb +75 -0
- data/app/views/camaleon_cms/admin/settings/_email_settings.html.erb +58 -0
- data/app/views/camaleon_cms/admin/settings/_file_system_settings.html.erb +32 -0
- data/app/views/camaleon_cms/admin/settings/_media_settings.html.erb +14 -0
- data/app/views/camaleon_cms/admin/settings/_seo_settings.html.erb +22 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/_get_items.html.erb +185 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/_meta_data.html.erb +93 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/_render.html.erb +50 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/_render_category_simple.html.erb +25 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_audio.html.erb +4 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_categories.html.erb +11 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_checkbox.html.erb +8 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_checkboxes.html.erb +5 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_colorpicker.html.erb +7 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_date.html.erb +6 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_editor.html.erb +3 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_email.html.erb +3 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_field_attrs.html.erb +8 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_file.html.erb +4 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_image.html.erb +16 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_numeric.html.erb +4 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_phone.html.erb +3 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_post_types.html.erb +8 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_posts.html.erb +14 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_private_file.html.erb +4 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_radio.html.erb +5 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_select.html.erb +7 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_select_eval.html.erb +3 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_text_area.html.erb +3 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_text_box.html.erb +3 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_url.html.erb +3 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_users.html.erb +8 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_video.html.erb +4 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/form.html.erb +167 -0
- data/app/views/camaleon_cms/admin/settings/custom_fields/index.html.erb +111 -0
- data/app/views/camaleon_cms/admin/settings/languages.html.erb +60 -0
- data/app/views/camaleon_cms/admin/settings/post_types/_form.html.erb +171 -0
- data/app/views/camaleon_cms/admin/settings/post_types/edit.html.erb +14 -0
- data/app/views/camaleon_cms/admin/settings/post_types/index.html.erb +55 -0
- data/app/views/camaleon_cms/admin/settings/shortcodes.html.erb +37 -0
- data/app/views/camaleon_cms/admin/settings/site.html.erb +98 -0
- data/app/views/camaleon_cms/admin/settings/sites/form.html.erb +35 -0
- data/app/views/camaleon_cms/admin/settings/sites/index.html.erb +60 -0
- data/app/views/camaleon_cms/admin/settings/theme.html.erb +20 -0
- data/app/views/camaleon_cms/admin/user_roles/form.html.erb +156 -0
- data/app/views/camaleon_cms/admin/user_roles/index.html.erb +57 -0
- data/app/views/camaleon_cms/admin/users/form.html.erb +161 -0
- data/app/views/camaleon_cms/admin/users/index.html.erb +63 -0
- data/app/views/camaleon_cms/admin/users/profile.html.erb +1 -0
- data/app/views/camaleon_cms/admin/users/profile/_activity.html.erb +180 -0
- data/app/views/camaleon_cms/admin/users/profile/_settings.html.erb +15 -0
- data/app/views/camaleon_cms/default_theme/category.html.erb +26 -0
- data/app/views/camaleon_cms/default_theme/category.json.jbuilder +15 -0
- data/app/views/camaleon_cms/default_theme/category.rss.builder +23 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/audio.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/checkbox.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/checkboxes.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/colorpicker.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/date.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/editor.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/email.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/field_attrs.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/file.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/image.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/numeric.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/phone.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/posts.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/radio.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/select.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/select_eval.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/text_area.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/text_box.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/url.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/users.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/custom_fields/video.html.erb +3 -0
- data/app/views/camaleon_cms/default_theme/index.html.erb +70 -0
- data/app/views/camaleon_cms/default_theme/index.json.jbuilder +14 -0
- data/app/views/camaleon_cms/default_theme/partials/_breadcrumb.html.erb +10 -0
- data/app/views/camaleon_cms/default_theme/partials/_cama_category_entry.json.jbuilder +6 -0
- data/app/views/camaleon_cms/default_theme/partials/_cama_comments_entry.json.jbuilder +6 -0
- data/app/views/camaleon_cms/default_theme/partials/_cama_post_entry.json.jbuilder +6 -0
- data/app/views/camaleon_cms/default_theme/partials/_cama_post_type_entry.json.jbuilder +6 -0
- data/app/views/camaleon_cms/default_theme/partials/_cama_posts_entries.json.jbuilder +8 -0
- data/app/views/camaleon_cms/default_theme/partials/_cama_tag_entry.json.jbuilder +5 -0
- data/app/views/camaleon_cms/default_theme/partials/_cama_user_entry.json.jbuilder +5 -0
- data/app/views/camaleon_cms/default_theme/partials/_categories_list.html.erb +23 -0
- data/app/views/camaleon_cms/default_theme/partials/_comments.html.erb +48 -0
- data/app/views/camaleon_cms/default_theme/partials/_comments_list.html.erb +21 -0
- data/app/views/camaleon_cms/default_theme/partials/_comments_list2.html.erb +24 -0
- data/app/views/camaleon_cms/default_theme/partials/_flash_messages.html.erb +26 -0
- data/app/views/camaleon_cms/default_theme/partials/_forms.html.erb +19 -0
- data/app/views/camaleon_cms/default_theme/partials/_post_list_item.html.erb +13 -0
- data/app/views/camaleon_cms/default_theme/partials/_render_custom_field.html.erb +55 -0
- data/app/views/camaleon_cms/default_theme/partials/_search_form.html.erb +8 -0
- data/app/views/camaleon_cms/default_theme/partials/_sidebar.html.erb +66 -0
- data/app/views/camaleon_cms/default_theme/post_tag.html.erb +18 -0
- data/app/views/camaleon_cms/default_theme/post_tag.json.jbuilder +10 -0
- data/app/views/camaleon_cms/default_theme/post_tag.rss.builder +22 -0
- data/app/views/camaleon_cms/default_theme/post_type.html.erb +25 -0
- data/app/views/camaleon_cms/default_theme/post_type.json.jbuilder +13 -0
- data/app/views/camaleon_cms/default_theme/post_type.rss.builder +22 -0
- data/app/views/camaleon_cms/default_theme/profile.html.erb +18 -0
- data/app/views/camaleon_cms/default_theme/profile.json.jbuilder +4 -0
- data/app/views/camaleon_cms/default_theme/robots.text.erb +1 -0
- data/app/views/camaleon_cms/default_theme/rss.rss.builder +21 -0
- data/app/views/camaleon_cms/default_theme/search.html.erb +13 -0
- data/app/views/camaleon_cms/default_theme/search.json.jbuilder +1 -0
- data/app/views/camaleon_cms/default_theme/single.html.erb +32 -0
- data/app/views/camaleon_cms/default_theme/single.json.jbuilder +21 -0
- data/app/views/camaleon_cms/default_theme/single.rss.builder +12 -0
- data/app/views/camaleon_cms/default_theme/sitemap.html.erb +23 -0
- data/app/views/camaleon_cms/default_theme/sitemap.xml.builder +60 -0
- data/app/views/camaleon_cms/html_mailer/confirm_email.html.erb +3 -0
- data/app/views/camaleon_cms/html_mailer/mailer.html.erb +4 -0
- data/app/views/camaleon_cms/html_mailer/password_reset.html.erb +3 -0
- data/app/views/camaleon_cms/shortcode_templates/widget.html.erb +11 -0
- data/app/views/layouts/camaleon_cms/admin.html.erb +54 -0
- data/app/views/layouts/camaleon_cms/admin/_ajax.html.erb +8 -0
- data/app/views/layouts/camaleon_cms/admin/_flash_messages.html.erb +43 -0
- data/app/views/layouts/camaleon_cms/admin/_footer.html.erb +13 -0
- data/app/views/layouts/camaleon_cms/admin/_form_error.html.erb +10 -0
- data/app/views/layouts/camaleon_cms/admin/_header.html.erb +51 -0
- data/app/views/layouts/camaleon_cms/admin/_sidebar.html.erb +19 -0
- data/app/views/layouts/camaleon_cms/admin/installer.html.erb +35 -0
- data/app/views/layouts/camaleon_cms/application.html.erb +15 -0
- data/app/views/layouts/camaleon_cms/login.html.erb +22 -0
- data/app/views/layouts/camaleon_cms/mailer.html.erb +22 -0
- data/config/initializers/action_view.rb +56 -0
- data/config/initializers/active_record_extension.rb +104 -0
- data/config/initializers/assets.rb +27 -0
- data/config/initializers/custom_initializers.rb +10 -0
- data/config/initializers/mobu.rb +24 -0
- data/config/initializers/model_alias.rb +18 -0
- data/config/initializers/sass.rb +52 -0
- data/config/locales/ar.yml +275 -0
- data/config/locales/camaleon_cms/admin/ar.yml +683 -0
- data/config/locales/camaleon_cms/admin/de.yml +682 -0
- data/config/locales/camaleon_cms/admin/en.yml +682 -0
- data/config/locales/camaleon_cms/admin/es.yml +654 -0
- data/config/locales/camaleon_cms/admin/fr.yml +663 -0
- data/config/locales/camaleon_cms/admin/it.yml +633 -0
- data/config/locales/camaleon_cms/admin/js.yml +435 -0
- data/config/locales/camaleon_cms/admin/nl.yml +659 -0
- data/config/locales/camaleon_cms/admin/pt-BR.yml +643 -0
- data/config/locales/camaleon_cms/admin/pt.yml +641 -0
- data/config/locales/camaleon_cms/admin/ru.yml +670 -0
- data/config/locales/camaleon_cms/admin/uk.yml +670 -0
- data/config/locales/camaleon_cms/admin/zh-CH.yml +703 -0
- data/config/locales/camaleon_cms/common.yml +784 -0
- data/config/locales/camaleon_cms/languages.yml +167 -0
- data/config/locales/camaleon_cms/routes.yml +71 -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/it.yml +205 -0
- data/config/locales/nl.yml +209 -0
- data/config/locales/pl.yml +237 -0
- data/config/locales/pt-BR.yml +203 -0
- data/config/locales/pt.yml +201 -0
- data/config/locales/ru.yml +207 -0
- data/config/locales/uk.yml +257 -0
- data/config/locales/zh-CH.yml +194 -0
- data/config/routes.rb +11 -0
- data/config/routes/admin.rb +148 -0
- data/config/routes/frontend.rb +96 -0
- data/config/system.json +19 -0
- data/db/migrate/20150611161134_post_table_into_utf8.rb +124 -0
- data/db/migrate/20150926095310_rename_column_posts.rb +18 -0
- data/db/migrate/20151212095328_add_confirm_token_to_users.rb +7 -0
- data/db/migrate/20160504155652_add_feature_to_posts.rb +5 -0
- data/db/migrate/20160504155653_move_first_name_of_users.rb +9 -0
- data/db/migrate/20160606135421_improve_menus_structure.rb +7 -0
- data/db/migrate/20160609121449_add_group_to_custom_field_values.rb +5 -0
- data/db/migrate/20161206211917_install_migrated_seo_plugin.rb +8 -0
- data/db/migrate/20161215202255_drop_user_relationship_table.rb +5 -0
- data/db/migrate/20180124132318_create_media.rb +17 -0
- data/db/migrate/20180704211100_adjust_field_length.rb +10 -0
- data/lib/camaleon_cms.rb +5 -0
- data/lib/camaleon_cms/engine.rb +84 -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/array.rb +59 -0
- data/lib/ext/hash.rb +41 -0
- data/lib/ext/string.rb +162 -0
- data/lib/ext/translator.rb +84 -0
- data/lib/generators/camaleon_cms/gem_plugin_generator.rb +140 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/controllers/plugins/my_plugin/admin_controller.rb +18 -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 +29 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/models/plugins/my_plugin/my_plugin.rb +6 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/views/plugins/my_plugin/admin/index.html.erb +9 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/app/views/plugins/my_plugin/admin/settings.html.erb +21 -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 +14 -0
- data/lib/generators/camaleon_cms/gem_plugin_template/config/initializers/custom_models.rb +5 -0
- data/lib/generators/camaleon_cms/install_generator.rb +43 -0
- data/lib/generators/camaleon_cms/install_template/apps/themes/readme.txt +0 -0
- data/lib/generators/camaleon_cms/install_template/plugin_routes.rb +22 -0
- data/lib/generators/camaleon_cms/install_template/system.json +11 -0
- data/lib/generators/camaleon_cms/theme_generator.rb +66 -0
- data/lib/generators/camaleon_cms/theme_template/assets/css/main.css +13 -0
- data/lib/generators/camaleon_cms/theme_template/assets/images/image.png +0 -0
- data/lib/generators/camaleon_cms/theme_template/assets/js/main.js +14 -0
- data/lib/generators/camaleon_cms/theme_template/config/config.json +14 -0
- data/lib/generators/camaleon_cms/theme_template/main_helper.rb +27 -0
- data/lib/generators/camaleon_cms/theme_template/views/admin/settings.html.erb +2 -0
- data/lib/generators/camaleon_cms/theme_template/views/index.html.erb +1 -0
- data/lib/generators/camaleon_cms/theme_template/views/layouts/index.html.erb +69 -0
- data/lib/generators/camaleon_cms/theme_template/views/partials/readme.txt +1 -0
- data/lib/plugin_routes.rb +439 -0
- data/lib/tasks/camaleon_cms/camaleon_tasks.rake +30 -0
- data/lib/tasks/camaleon_cms/rspec_test.rake +20 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/config/manifest.js +8 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +36 -0
- data/spec/dummy/bin/update +31 -0
- data/spec/dummy/bin/yarn +11 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +27 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +41 -0
- data/spec/dummy/config/environments/production.rb +79 -0
- data/spec/dummy/config/environments/test.rb +44 -0
- data/spec/dummy/config/initializers/assets.rb +11 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/db/schema.rb +186 -0
- data/spec/factories/post.rb +44 -0
- data/spec/factories/post_type.rb +9 -0
- data/spec/factories/site.rb +18 -0
- data/spec/factories/user.rb +19 -0
- data/spec/features/admin/categories_spec.rb +25 -0
- data/spec/features/admin/comments_spec.rb +52 -0
- data/spec/features/admin/contact_form_spec.rb +60 -0
- data/spec/features/admin/content_groups_spec.rb +53 -0
- data/spec/features/admin/custom_fields_spec.rb +49 -0
- data/spec/features/admin/languages_spec.rb +37 -0
- data/spec/features/admin/media_spec.rb +50 -0
- data/spec/features/admin/menus_spec.rb +50 -0
- data/spec/features/admin/pages_spec.rb +35 -0
- data/spec/features/admin/plugins_spec.rb +29 -0
- data/spec/features/admin/posts_spec.rb +37 -0
- data/spec/features/admin/session_spec.rb +102 -0
- data/spec/features/admin/settings_spec.rb +17 -0
- data/spec/features/admin/shortcodes_spec.rb +11 -0
- data/spec/features/admin/sites_spec.rb +53 -0
- data/spec/features/admin/tags_spec.rb +34 -0
- data/spec/features/admin/themes_spec.rb +18 -0
- data/spec/features/admin/user_roles_spec.rb +66 -0
- data/spec/features/admin/users_spec.rb +81 -0
- data/spec/features/admin/widgets_spec.rb +59 -0
- data/spec/features/frontend/pages_spec.rb +136 -0
- data/spec/features/frontend/post_type_spec.rb +16 -0
- data/spec/helpers/email_helper_spec.rb +16 -0
- data/spec/helpers/short_code_helper_spec.rb +64 -0
- data/spec/helpers/uploader_helper_spec.rb +56 -0
- data/spec/mailers/send_mail_spec.rb +37 -0
- data/spec/models/post_spec.rb +50 -0
- data/spec/models/user_spec.rb +12 -0
- data/spec/rails_helper.rb +50 -0
- data/spec/routing/post_type_routes_spec.rb +12 -0
- data/spec/spec_helper.rb +167 -0
- data/spec/support/capybara_normalize_whitespace_patch.rb +17 -0
- data/spec/support/common.rb +119 -0
- data/spec/support/fixtures/rails.png +0 -0
- data/spec/support/wait_for_ajax.rb +30 -0
- metadata +1213 -0
@@ -0,0 +1,123 @@
|
|
1
|
+
/*! jQuery Validation Plugin - v1.15.0 - 2/24/2016
|
2
|
+
* http://jqueryvalidation.org/
|
3
|
+
* Copyright (c) 2016 Jörn Zaefferer; Licensed MIT */
|
4
|
+
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.settings.submitHandler?(c.submitButton&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e?e:!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){if(this.length){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){var c=a(b).val();return null!==c&&!!a.trim(""+c)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||-1!==a.inArray(c.keyCode,d)||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable]",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=h&&g.check(e)))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)a[b]&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.hasAttribute("contenteditable")&&(this.form=a(this).closest("form")[0]),d in c||!b.objectLength(a(this).rules())?!1:(c[d]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type;return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=b.hasAttribute("contenteditable")?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);if("function"==typeof f.normalizer){if(i=f.normalizer.call(b,i),"string"!=typeof i)throw new TypeError("The normalizer should return a string value.");delete f.normalizer}for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j instanceof TypeError&&(j.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){var d=this.findDefined(this.customMessage(b.name,c.method),this.customDataMessage(b,c.method),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c.method],"<strong>Warning: No message defined for "+b.name+"</strong>"),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.name],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(d,e){b[d]=a.isFunction(e)&&"normalizer"!==d?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.| |_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e=a(c).attr("type"),f="Step attribute on input type "+e+" is not supported.",g=["text","number","range"],h=new RegExp("\\b"+e+"\\b"),i=e&&!h.test(g.join());if(i)throw new Error(f);return this.optional(c)||b%d===0},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)})});
|
5
|
+
|
6
|
+
//***************customization*****************/
|
7
|
+
// jquery custom validations and default values
|
8
|
+
jQuery(function(){
|
9
|
+
// file formats
|
10
|
+
$.file_formats = {
|
11
|
+
jpg: "image",
|
12
|
+
gif: "image",
|
13
|
+
png: "image",
|
14
|
+
bmp: "image",
|
15
|
+
jpeg: "image",
|
16
|
+
|
17
|
+
mp3: "audio",
|
18
|
+
ogg: "audio",
|
19
|
+
mid: "audio",
|
20
|
+
mod: "audio",
|
21
|
+
wav: "audio",
|
22
|
+
|
23
|
+
mp4: "video",
|
24
|
+
wmv: "video",
|
25
|
+
avi: "video",
|
26
|
+
swf: "video",
|
27
|
+
mov: "video",
|
28
|
+
mpeg: "video",
|
29
|
+
mjpg: "video",
|
30
|
+
|
31
|
+
pdf: 'document',
|
32
|
+
xls: 'document',
|
33
|
+
xlsx: 'document',
|
34
|
+
doc: 'document',
|
35
|
+
docx: 'document',
|
36
|
+
ppt: 'document',
|
37
|
+
pptx: 'document',
|
38
|
+
html: 'document',
|
39
|
+
htm: 'document',
|
40
|
+
txt: 'document',
|
41
|
+
|
42
|
+
zip: 'compress',
|
43
|
+
"7z": 'compress',
|
44
|
+
rar: 'compress',
|
45
|
+
tar: 'compress',
|
46
|
+
bz2: 'compress',
|
47
|
+
gz: 'compress',
|
48
|
+
rar2: 'compress'
|
49
|
+
}
|
50
|
+
|
51
|
+
// return the video id of a video url
|
52
|
+
// http://lasnv.net/foro/839/Javascript_parsear_URL_de_YouTube
|
53
|
+
$.cama_youtube_key = function(url){
|
54
|
+
var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
|
55
|
+
var match = url.match(regExp);
|
56
|
+
var b = false;
|
57
|
+
if (match&&match[7].length==11){
|
58
|
+
b=match[7];
|
59
|
+
}
|
60
|
+
return b;
|
61
|
+
}
|
62
|
+
|
63
|
+
// verify the url for youtube, vimeo...
|
64
|
+
// return youtube | metcafe|dailymotion|vimeo
|
65
|
+
$.cama_check_video_url = function (url) {
|
66
|
+
var regYoutube = new RegExp(/^.*((youtu.be\/)|(v\/)|(\/u\/w\/)|(embed\/)|(watch?))??v?=?([^#&?]*).*/);
|
67
|
+
var regVimeo = new RegExp(/^.*(vimeo.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/);
|
68
|
+
var regDailymotion = new RegExp(/^.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/);
|
69
|
+
var regMetacafe = new RegExp(/^.*(metacafe.com)(\/watch\/)(d+)(.*)/i);
|
70
|
+
if (regYoutube.test(url)) {
|
71
|
+
return 'youtube';
|
72
|
+
} else if (regMetacafe.test(url)) {
|
73
|
+
return 'metacafe';
|
74
|
+
} else if (regDailymotion.test(url)) {
|
75
|
+
return 'dailymotion';
|
76
|
+
} else if (regVimeo.test(url)) {
|
77
|
+
return 'vimeo';
|
78
|
+
} else {
|
79
|
+
return false;
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
// helper validate only letters latin
|
84
|
+
var regex = /^[a-z\sÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏàáâãäåæçèéêëìíîïÐÑÒÓÔÕÖØÙÚÛÜÝÞßðñòóôõöøùúûüýþÿ]+$/i;
|
85
|
+
jQuery.validator.addMethod("lettersonly", function (value, element) {
|
86
|
+
return this.optional(element) || regex.test(value);
|
87
|
+
}, "Only alphabetical characters");
|
88
|
+
|
89
|
+
/************ Custom jquery validation as defaults ***************/
|
90
|
+
jQuery.validator.setDefaults({
|
91
|
+
focusInvalid: true,
|
92
|
+
ignore: ".translated-item",
|
93
|
+
errorPlacement: function (a, b) {
|
94
|
+
if (!a.text()) return;
|
95
|
+
if (b.parent().hasClass('trans_tab_item')) $("a[href='#" + b.parent().attr('id') + "']").trigger('click'); // tabs
|
96
|
+
if (b.attr("data-error-place") && $(b.attr("data-error-place")).length) $(b.attr("data-error-place")).html(a);
|
97
|
+
else if(b.hasClass('data-error-place-parent')) b.parent().parent().append(a);
|
98
|
+
else if(b.hasClass('data-error-place-parent2')) b.parent().parent().parent().append(a);
|
99
|
+
else b.parent().append(a);
|
100
|
+
},
|
101
|
+
highlight: function(element, errorClass){ //fix for error fields in hidden tab
|
102
|
+
var tab = "";
|
103
|
+
if(!$(element).is(":visible") && (tab = $(element).closest(".tab-pane")).length && tab.attr("id")){
|
104
|
+
tab.closest(".tabs, .nav-tabs").find(" > ul a[href='#"+tab.attr("id")+"']").click();
|
105
|
+
}
|
106
|
+
}
|
107
|
+
});
|
108
|
+
|
109
|
+
// validate file extension defined in data-formats
|
110
|
+
// data-formats: (default '') image | audio | video (support also external youtube metacafe, dailymotion, vimeo) | or file extension like: jpg|png
|
111
|
+
$.validator.addMethod("file_format", function (value, element) {
|
112
|
+
var formats = $(element).attr("data-formats");
|
113
|
+
var ext = value.split(".").pop().toLowerCase();
|
114
|
+
if (formats && value)
|
115
|
+
return ($.inArray("video", formats.split(",")) >= 0 && $.cama_check_video_url(value)) || $.inArray($.file_formats[ext], formats.split(",")) >= 0 || $.inArray(ext, formats.split(",")) >= 0
|
116
|
+
|
117
|
+
return true;
|
118
|
+
}, "File format not accepted.");
|
119
|
+
jQuery.validator.addClassRules({
|
120
|
+
file_format: {file_format: true}
|
121
|
+
});
|
122
|
+
$('form.cama_form_validate').validate();
|
123
|
+
});
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: DE (German, Deutsch)
|
4
|
+
*/
|
5
|
+
$.extend( $.validator.messages, {
|
6
|
+
required: "Dieses Feld ist ein Pflichtfeld.",
|
7
|
+
maxlength: $.validator.format( "Geben Sie bitte maximal {0} Zeichen ein." ),
|
8
|
+
minlength: $.validator.format( "Geben Sie bitte mindestens {0} Zeichen ein." ),
|
9
|
+
rangelength: $.validator.format( "Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein." ),
|
10
|
+
email: "Geben Sie bitte eine gültige E-Mail Adresse ein.",
|
11
|
+
url: "Geben Sie bitte eine gültige URL ein.",
|
12
|
+
date: "Bitte geben Sie ein gültiges Datum ein.",
|
13
|
+
number: "Geben Sie bitte eine Nummer ein.",
|
14
|
+
digits: "Geben Sie bitte nur Ziffern ein.",
|
15
|
+
equalTo: "Bitte denselben Wert wiederholen.",
|
16
|
+
range: $.validator.format( "Geben Sie bitte einen Wert zwischen {0} und {1} ein." ),
|
17
|
+
max: $.validator.format( "Geben Sie bitte einen Wert kleiner oder gleich {0} ein." ),
|
18
|
+
min: $.validator.format( "Geben Sie bitte einen Wert größer oder gleich {0} ein." ),
|
19
|
+
creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein."
|
20
|
+
} );
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: ES (Spanish; Español)
|
4
|
+
*/
|
5
|
+
$.extend($.validator.messages, {
|
6
|
+
required: "Este campo es obligatorio.",
|
7
|
+
remote: "Por favor, rellena este campo.",
|
8
|
+
email: "Por favor, escribe una dirección de correo válida.",
|
9
|
+
url: "Por favor, escribe una URL válida.",
|
10
|
+
date: "Por favor, escribe una fecha válida.",
|
11
|
+
dateISO: "Por favor, escribe una fecha (ISO) válida.",
|
12
|
+
number: "Por favor, escribe un número válido.",
|
13
|
+
digits: "Por favor, escribe sólo dígitos.",
|
14
|
+
creditcard: "Por favor, escribe un número de tarjeta válido.",
|
15
|
+
equalTo: "Por favor, escribe el mismo valor de nuevo.",
|
16
|
+
extension: "Por favor, escribe un valor con una extensión aceptada.",
|
17
|
+
maxlength: $.validator.format("Por favor, no escribas más de {0} caracteres."),
|
18
|
+
minlength: $.validator.format("Por favor, no escribas menos de {0} caracteres."),
|
19
|
+
rangelength: $.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."),
|
20
|
+
range: $.validator.format("Por favor, escribe un valor entre {0} y {1}."),
|
21
|
+
max: $.validator.format("Por favor, escribe un valor menor o igual a {0}."),
|
22
|
+
min: $.validator.format("Por favor, escribe un valor mayor o igual a {0}."),
|
23
|
+
nifES: "Por favor, escribe un NIF válido.",
|
24
|
+
nieES: "Por favor, escribe un NIE válido.",
|
25
|
+
cifES: "Por favor, escribe un CIF válido.",
|
26
|
+
file_format: "Formato de archivo no permitido."
|
27
|
+
});
|
@@ -0,0 +1,49 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: FR (French; français)
|
4
|
+
*/
|
5
|
+
$.extend( $.validator.messages, {
|
6
|
+
required: "Ce champ est obligatoire.",
|
7
|
+
remote: "Veuillez corriger ce champ.",
|
8
|
+
email: "Veuillez fournir une adresse électronique valide.",
|
9
|
+
url: "Veuillez fournir une adresse URL valide.",
|
10
|
+
date: "Veuillez fournir une date valide.",
|
11
|
+
dateISO: "Veuillez fournir une date valide (ISO).",
|
12
|
+
number: "Veuillez fournir un numéro valide.",
|
13
|
+
digits: "Veuillez fournir seulement des chiffres.",
|
14
|
+
creditcard: "Veuillez fournir un numéro de carte de crédit valide.",
|
15
|
+
equalTo: "Veuillez fournir encore la même valeur.",
|
16
|
+
extension: "Veuillez fournir une valeur avec une extension valide.",
|
17
|
+
maxlength: $.validator.format( "Veuillez fournir au plus {0} caractères." ),
|
18
|
+
minlength: $.validator.format( "Veuillez fournir au moins {0} caractères." ),
|
19
|
+
rangelength: $.validator.format( "Veuillez fournir une valeur qui contient entre {0} et {1} caractères." ),
|
20
|
+
range: $.validator.format( "Veuillez fournir une valeur entre {0} et {1}." ),
|
21
|
+
max: $.validator.format( "Veuillez fournir une valeur inférieure ou égale à {0}." ),
|
22
|
+
min: $.validator.format( "Veuillez fournir une valeur supérieure ou égale à {0}." ),
|
23
|
+
maxWords: $.validator.format( "Veuillez fournir au plus {0} mots." ),
|
24
|
+
minWords: $.validator.format( "Veuillez fournir au moins {0} mots." ),
|
25
|
+
rangeWords: $.validator.format( "Veuillez fournir entre {0} et {1} mots." ),
|
26
|
+
letterswithbasicpunc: "Veuillez fournir seulement des lettres et des signes de ponctuation.",
|
27
|
+
alphanumeric: "Veuillez fournir seulement des lettres, nombres, espaces et soulignages.",
|
28
|
+
lettersonly: "Veuillez fournir seulement des lettres.",
|
29
|
+
nowhitespace: "Veuillez ne pas inscrire d'espaces blancs.",
|
30
|
+
ziprange: "Veuillez fournir un code postal entre 902xx-xxxx et 905-xx-xxxx.",
|
31
|
+
integer: "Veuillez fournir un nombre non décimal qui est positif ou négatif.",
|
32
|
+
vinUS: "Veuillez fournir un numéro d'identification du véhicule (VIN).",
|
33
|
+
dateITA: "Veuillez fournir une date valide.",
|
34
|
+
time: "Veuillez fournir une heure valide entre 00:00 et 23:59.",
|
35
|
+
phoneUS: "Veuillez fournir un numéro de téléphone valide.",
|
36
|
+
phoneUK: "Veuillez fournir un numéro de téléphone valide.",
|
37
|
+
mobileUK: "Veuillez fournir un numéro de téléphone mobile valide.",
|
38
|
+
strippedminlength: $.validator.format( "Veuillez fournir au moins {0} caractères." ),
|
39
|
+
email2: "Veuillez fournir une adresse électronique valide.",
|
40
|
+
url2: "Veuillez fournir une adresse URL valide.",
|
41
|
+
creditcardtypes: "Veuillez fournir un numéro de carte de crédit valide.",
|
42
|
+
ipv4: "Veuillez fournir une adresse IP v4 valide.",
|
43
|
+
ipv6: "Veuillez fournir une adresse IP v6 valide.",
|
44
|
+
require_from_group: "Veuillez fournir au moins {0} de ces champs.",
|
45
|
+
nifES: "Veuillez fournir un numéro NIF valide.",
|
46
|
+
nieES: "Veuillez fournir un numéro NIE valide.",
|
47
|
+
cifES: "Veuillez fournir un numéro CIF valide.",
|
48
|
+
postalCodeCA: "Veuillez fournir un code postal valide."
|
49
|
+
} );
|
@@ -0,0 +1,23 @@
|
|
1
|
+
$.extend($.validator.messages, {
|
2
|
+
required: "Questo campo è obbligatorio.",
|
3
|
+
remote: "Si prega di compilare questo campo.",
|
4
|
+
email: "Inserire un indirizzo email valido.",
|
5
|
+
url: "Inserire una URL valida.",
|
6
|
+
date: "Inserire una data valida.",
|
7
|
+
dateISO: "Inserire una data (ISO) valida.",
|
8
|
+
number: "Inserire un numero valido.",
|
9
|
+
digits: "Inserisci solo cifre.",
|
10
|
+
creditcard: "Inserire una tessera valida.",
|
11
|
+
equalTo: "Inserisci di nuovo lo stesso valore.",
|
12
|
+
extension: "Inserisci un valore con un'estensione valida.",
|
13
|
+
maxlength: $.validator.format("Non scrivere più di {0} caratteri."),
|
14
|
+
minlength: $.validator.format("Non scrivere meno di {0} caratteri."),
|
15
|
+
rangelength: $.validator.format("Inserisci un valore compreso tra {0} e {1} caratteri."),
|
16
|
+
range: $.validator.format("Inserisci un valore tra {0} e {1}."),
|
17
|
+
max: $.validator.format("Inserisci un valore minore o uguale a {0}."),
|
18
|
+
min: $.validator.format("Inserisci un valore maggiore o uguale a {0}."),
|
19
|
+
nifES: "Inserisci un NIF valido.",
|
20
|
+
nieES: "Inserisci un NIE valido.",
|
21
|
+
cifES: "Inserisci un CIF valido.",
|
22
|
+
file_format: "Formato archivio non permesso."
|
23
|
+
});
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: NL (Dutch; Nederlands, Vlaams)
|
4
|
+
*/
|
5
|
+
$.extend( $.validator.messages, {
|
6
|
+
required: "Dit is een verplicht veld.",
|
7
|
+
remote: "Controleer dit veld.",
|
8
|
+
email: "Vul hier een geldig e-mailadres in.",
|
9
|
+
url: "Vul hier een geldige URL in.",
|
10
|
+
date: "Vul hier een geldige datum in.",
|
11
|
+
dateISO: "Vul hier een geldige datum in (ISO-formaat).",
|
12
|
+
number: "Vul hier een geldig getal in.",
|
13
|
+
digits: "Vul hier alleen getallen in.",
|
14
|
+
creditcard: "Vul hier een geldig creditcardnummer in.",
|
15
|
+
equalTo: "Vul hier dezelfde waarde in.",
|
16
|
+
extension: "Vul hier een waarde in met een geldige extensie.",
|
17
|
+
maxlength: $.validator.format( "Vul hier maximaal {0} tekens in." ),
|
18
|
+
minlength: $.validator.format( "Vul hier minimaal {0} tekens in." ),
|
19
|
+
rangelength: $.validator.format( "Vul hier een waarde in van minimaal {0} en maximaal {1} tekens." ),
|
20
|
+
range: $.validator.format( "Vul hier een waarde in van minimaal {0} en maximaal {1}." ),
|
21
|
+
max: $.validator.format( "Vul hier een waarde in kleiner dan of gelijk aan {0}." ),
|
22
|
+
min: $.validator.format( "Vul hier een waarde in groter dan of gelijk aan {0}." ),
|
23
|
+
|
24
|
+
// For validations in additional-methods.js
|
25
|
+
iban: "Vul hier een geldig IBAN in.",
|
26
|
+
dateNL: "Vul hier een geldige datum in.",
|
27
|
+
phoneNL: "Vul hier een geldig Nederlands telefoonnummer in.",
|
28
|
+
mobileNL: "Vul hier een geldig Nederlands mobiel telefoonnummer in.",
|
29
|
+
postalcodeNL: "Vul hier een geldige postcode in.",
|
30
|
+
bankaccountNL: "Vul hier een geldig bankrekeningnummer in.",
|
31
|
+
giroaccountNL: "Vul hier een geldig gironummer in.",
|
32
|
+
bankorgiroaccountNL: "Vul hier een geldig bank- of gironummer in."
|
33
|
+
} );
|
@@ -0,0 +1,74 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: PT (Portuguese; português)
|
4
|
+
* Region: BR (Brazil)
|
5
|
+
*/
|
6
|
+
$.extend( $.validator.messages, {
|
7
|
+
//Core
|
8
|
+
required: "Este campo é requerido.",
|
9
|
+
remote: "Por favor, corrija este campo.",
|
10
|
+
email: "Por favor, forneça um endereço de email válido.",
|
11
|
+
url: "Por favor, forneça uma URL válida.",
|
12
|
+
date: "Por favor, forneça uma data válida.",
|
13
|
+
dateISO: "Por favor, forneça uma data válida (ISO).",
|
14
|
+
number: "Por favor, forneça um número válido.",
|
15
|
+
digits: "Por favor, forneça somente dígitos.",
|
16
|
+
creditcard: "Por favor, forneça um cartão de crédito válido.",
|
17
|
+
equalTo: "Por favor, forneça o mesmo valor novamente.",
|
18
|
+
maxlength: $.validator.format( "Por favor, forneça não mais que {0} caracteres." ),
|
19
|
+
minlength: $.validator.format( "Por favor, forneça ao menos {0} caracteres." ),
|
20
|
+
rangelength: $.validator.format( "Por favor, forneça um valor entre {0} e {1} caracteres de comprimento." ),
|
21
|
+
range: $.validator.format( "Por favor, forneça um valor entre {0} e {1}." ),
|
22
|
+
max: $.validator.format( "Por favor, forneça um valor menor ou igual a {0}." ),
|
23
|
+
min: $.validator.format( "Por favor, forneça um valor maior ou igual a {0}." ),
|
24
|
+
|
25
|
+
// Metodos Adicionais
|
26
|
+
maxWords: $.validator.format( "Por favor, forneça com {0} palavras ou menos." ),
|
27
|
+
minWords: $.validator.format( "Por favor, forneça pelo menos {0} palavras." ),
|
28
|
+
rangeWords: $.validator.format( "Por favor, forneça entre {0} e {1} palavras." ),
|
29
|
+
accept: "Por favor, forneça um tipo válido.",
|
30
|
+
alphanumeric: "Por favor, forneça somente com letras, números e sublinhados.",
|
31
|
+
bankaccountNL: "Por favor, forneça com um número de conta bancária válida.",
|
32
|
+
bankorgiroaccountNL: "Por favor, forneça um banco válido ou número de conta.",
|
33
|
+
bic: "Por favor, forneça um código BIC válido.",
|
34
|
+
cifES: "Por favor, forneça um código CIF válido.",
|
35
|
+
creditcardtypes: "Por favor, forneça um número de cartão de crédito válido.",
|
36
|
+
currency: "Por favor, forneça uma moeda válida.",
|
37
|
+
dateFA: "Por favor, forneça uma data correta.",
|
38
|
+
dateITA: "Por favor, forneça uma data correta.",
|
39
|
+
dateNL: "Por favor, forneça uma data correta.",
|
40
|
+
extension: "Por favor, forneça um valor com uma extensão válida.",
|
41
|
+
giroaccountNL: "Por favor, forneça um número de conta corrente válido.",
|
42
|
+
iban: "Por favor, forneça um código IBAN válido.",
|
43
|
+
integer: "Por favor, forneça um número não decimal.",
|
44
|
+
ipv4: "Por favor, forneça um IPv4 válido.",
|
45
|
+
ipv6: "Por favor, forneça um IPv6 válido.",
|
46
|
+
lettersonly: "Por favor, forneça apenas com letras.",
|
47
|
+
letterswithbasicpunc: "Por favor, forneça apenas letras ou pontuações.",
|
48
|
+
mobileNL: "Por favor, forneceça um número válido de telefone.",
|
49
|
+
mobileUK: "Por favor, forneceça um número válido de telefone.",
|
50
|
+
nieES: "Por favor, forneça um NIE válido.",
|
51
|
+
nifES: "Por favor, forneça um NIF válido.",
|
52
|
+
nowhitespace: "Por favor, não utilize espaços em branco.",
|
53
|
+
pattern: "O formato fornenecido é inválido.",
|
54
|
+
phoneNL: "Por favor, forneceça um número de telefone válido.",
|
55
|
+
phoneUK: "Por favor, forneceça um número de telefone válido.",
|
56
|
+
phoneUS: "Por favor, forneceça um número de telefone válido.",
|
57
|
+
phonesUK: "Por favor, forneceça um número de telefone válido.",
|
58
|
+
postalCodeCA: "Por favor, forneceça um número de código postal válido.",
|
59
|
+
postalcodeIT: "Por favor, forneceça um número de código postal válido.",
|
60
|
+
postalcodeNL: "Por favor, forneceça um número de código postal válido.",
|
61
|
+
postcodeUK: "Por favor, forneceça um número de código postal válido.",
|
62
|
+
postalcodeBR: "Por favor, forneça um CEP válido.",
|
63
|
+
require_from_group: $.validator.format( "Por favor, forneça pelo menos {0} destes campos." ),
|
64
|
+
skip_or_fill_minimum: $.validator.format( "Por favor, optar entre ignorar esses campos ou preencher pelo menos {0} deles." ),
|
65
|
+
stateUS: "Por favor, forneça um estado válido.",
|
66
|
+
strippedminlength: $.validator.format( "Por favor, forneça pelo menos {0} caracteres." ),
|
67
|
+
time: "Por favor, forneça um horário válido, no intervado de 00:00 e 23:59.",
|
68
|
+
time12h: "Por favor, forneça um horário válido, no intervado de 01:00 e 12:59 am/pm.",
|
69
|
+
url2: "Por favor, forneceça uma URL válida.",
|
70
|
+
vinUS: "O número de identificação de veículo informada (VIN) é inválido.",
|
71
|
+
zipcodeUS: "Por favor, forneceça um código postal americano válido.",
|
72
|
+
ziprange: "O código postal deve estar entre 902xx-xxxx e 905xx-xxxx",
|
73
|
+
cpfBR: "Por favor, forneça um CPF válido."
|
74
|
+
} );
|
@@ -0,0 +1,19 @@
|
|
1
|
+
$.extend( $.validator.messages, {
|
2
|
+
required: "Это поле необходимо заполнить.",
|
3
|
+
remote: "Пожалуйста, введите правильное значение.",
|
4
|
+
email: "Пожалуйста, введите корректный адрес электронной почты.",
|
5
|
+
url: "Пожалуйста, введите корректный URL.",
|
6
|
+
date: "Пожалуйста, введите корректную дату.",
|
7
|
+
dateISO: "Пожалуйста, введите корректную дату в формате ISO.",
|
8
|
+
number: "Пожалуйста, введите число.",
|
9
|
+
digits: "Пожалуйста, вводите только цифры.",
|
10
|
+
creditcard: "Пожалуйста, введите правильный номер кредитной карты.",
|
11
|
+
equalTo: "Пожалуйста, введите такое же значение ещё раз.",
|
12
|
+
extension: "Пожалуйста, выберите файл с правильным расширением.",
|
13
|
+
maxlength: $.validator.format( "Пожалуйста, введите не больше {0} символов." ),
|
14
|
+
minlength: $.validator.format( "Пожалуйста, введите не меньше {0} символов." ),
|
15
|
+
rangelength: $.validator.format( "Пожалуйста, введите значение длиной от {0} до {1} символов." ),
|
16
|
+
range: $.validator.format( "Пожалуйста, введите число от {0} до {1}." ),
|
17
|
+
max: $.validator.format( "Пожалуйста, введите число, меньшее или равное {0}." ),
|
18
|
+
min: $.validator.format( "Пожалуйста, введите число, большее или равное {0}." )
|
19
|
+
} );
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: UK (Ukrainian; українська мова)
|
4
|
+
*/
|
5
|
+
$.extend( $.validator.messages, {
|
6
|
+
required: "Це поле необхідно заповнити.",
|
7
|
+
remote: "Будь ласка, введіть правильне значення.",
|
8
|
+
email: "Будь ласка, введіть коректну адресу електронної пошти.",
|
9
|
+
url: "Будь ласка, введіть коректний URL.",
|
10
|
+
date: "Будь ласка, введіть коректну дату.",
|
11
|
+
dateISO: "Будь ласка, введіть коректну дату у форматі ISO.",
|
12
|
+
number: "Будь ласка, введіть число.",
|
13
|
+
digits: "Вводите потрібно лише цифри.",
|
14
|
+
creditcard: "Будь ласка, введіть правильний номер кредитної карти.",
|
15
|
+
equalTo: "Будь ласка, введіть таке ж значення ще раз.",
|
16
|
+
extension: "Будь ласка, виберіть файл з правильним розширенням.",
|
17
|
+
maxlength: $.validator.format( "Будь ласка, введіть не більше {0} символів." ),
|
18
|
+
minlength: $.validator.format( "Будь ласка, введіть не менше {0} символів." ),
|
19
|
+
rangelength: $.validator.format( "Будь ласка, введіть значення довжиною від {0} до {1} символів." ),
|
20
|
+
range: $.validator.format( "Будь ласка, введіть число від {0} до {1}." ),
|
21
|
+
max: $.validator.format( "Будь ласка, введіть число, менше або рівно {0}." ),
|
22
|
+
min: $.validator.format( "Будь ласка, введіть число, більше або рівно {0}." )
|
23
|
+
} );
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/*
|
2
|
+
* Translated default messages for the jQuery validation plugin.
|
3
|
+
* Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語)
|
4
|
+
*/
|
5
|
+
$.extend($.validator.messages, {
|
6
|
+
required: "这是必填字段",
|
7
|
+
remote: "请修正此字段",
|
8
|
+
email: "请输入有效的电子邮件地址",
|
9
|
+
url: "请输入有效的网址",
|
10
|
+
date: "请输入有效的日期",
|
11
|
+
dateISO: "请输入有效的日期 (YYYY-MM-DD)",
|
12
|
+
number: "请输入有效的数字",
|
13
|
+
digits: "只能输入数字",
|
14
|
+
creditcard: "请输入有效的信用卡号码",
|
15
|
+
equalTo: "你的输入不相同",
|
16
|
+
extension: "请输入有效的后缀",
|
17
|
+
maxlength: $.validator.format("最多可以输入 {0} 个字符"),
|
18
|
+
minlength: $.validator.format("最少要输入 {0} 个字符"),
|
19
|
+
rangelength: $.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"),
|
20
|
+
range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"),
|
21
|
+
max: $.validator.format("请输入不大于 {0} 的数值"),
|
22
|
+
min: $.validator.format("请输入不小于 {0} 的数值")
|
23
|
+
});
|
@@ -0,0 +1,758 @@
|
|
1
|
+
/*! AdminLTE app.js
|
2
|
+
* ================
|
3
|
+
* Main JS application file for AdminLTE v2. This file
|
4
|
+
* should be included in all pages. It controls some layout
|
5
|
+
* options and implements exclusive AdminLTE plugins.
|
6
|
+
*
|
7
|
+
* @Author Almsaeed Studio
|
8
|
+
* @Support <http://www.almsaeedstudio.com>
|
9
|
+
* @Email <support@almsaeedstudio.com>
|
10
|
+
* @version 2.3.1
|
11
|
+
* @license MIT <http://opensource.org/licenses/MIT>
|
12
|
+
*/
|
13
|
+
|
14
|
+
//Make sure jQuery has been loaded before app.js
|
15
|
+
if (typeof jQuery === "undefined") {
|
16
|
+
throw new Error("AdminLTE requires jQuery");
|
17
|
+
}
|
18
|
+
|
19
|
+
/* AdminLTE
|
20
|
+
*
|
21
|
+
* @type Object
|
22
|
+
* @description $.AdminLTE is the main object for the template's app.
|
23
|
+
* It's used for implementing functions and options related
|
24
|
+
* to the template. Keeping everything wrapped in an object
|
25
|
+
* prevents conflict with other plugins and is a better
|
26
|
+
* way to organize our code.
|
27
|
+
*/
|
28
|
+
$.AdminLTE = {};
|
29
|
+
|
30
|
+
/* --------------------
|
31
|
+
* - AdminLTE Options -
|
32
|
+
* --------------------
|
33
|
+
* Modify these options to suit your implementation
|
34
|
+
*/
|
35
|
+
$.AdminLTE.options = {
|
36
|
+
//Add slimscroll to navbar menus
|
37
|
+
//This requires you to load the slimscroll plugin
|
38
|
+
//in every page before app.js
|
39
|
+
navbarMenuSlimscroll: true,
|
40
|
+
navbarMenuSlimscrollWidth: "3px", //The width of the scroll bar
|
41
|
+
navbarMenuHeight: "200px", //The height of the inner menu
|
42
|
+
//General animation speed for JS animated elements such as box collapse/expand and
|
43
|
+
//sidebar treeview slide up/down. This options accepts an integer as milliseconds,
|
44
|
+
//'fast', 'normal', or 'slow'
|
45
|
+
animationSpeed: 500,
|
46
|
+
//Sidebar push menu toggle button selector
|
47
|
+
sidebarToggleSelector: "[data-toggle='offcanvas']",
|
48
|
+
//Activate sidebar push menu
|
49
|
+
sidebarPushMenu: true,
|
50
|
+
//Activate sidebar slimscroll if the fixed layout is set (requires SlimScroll Plugin)
|
51
|
+
sidebarSlimScroll: false,
|
52
|
+
//Enable sidebar expand on hover effect for sidebar mini
|
53
|
+
//This option is forced to true if both the fixed layout and sidebar mini
|
54
|
+
//are used together
|
55
|
+
sidebarExpandOnHover: false,
|
56
|
+
//BoxRefresh Plugin
|
57
|
+
enableBoxRefresh: false,
|
58
|
+
//Bootstrap.js tooltip
|
59
|
+
enableBSToppltip: false,
|
60
|
+
BSTooltipSelector: "[data-toggle='tooltip']",
|
61
|
+
//Enable Fast Click. Fastclick.js creates a more
|
62
|
+
//native touch experience with touch devices. If you
|
63
|
+
//choose to enable the plugin, make sure you load the script
|
64
|
+
//before AdminLTE's app.js
|
65
|
+
enableFastclick: true,
|
66
|
+
//Control Sidebar Options
|
67
|
+
enableControlSidebar: true,
|
68
|
+
controlSidebarOptions: {
|
69
|
+
//Which button should trigger the open/close event
|
70
|
+
toggleBtnSelector: "[data-toggle='control-sidebar']",
|
71
|
+
//The sidebar selector
|
72
|
+
selector: ".control-sidebar",
|
73
|
+
//Enable slide over content
|
74
|
+
slide: true
|
75
|
+
},
|
76
|
+
//Box Widget Plugin. Enable this plugin
|
77
|
+
//to allow boxes to be collapsed and/or removed
|
78
|
+
enableBoxWidget: true,
|
79
|
+
//Box Widget plugin options
|
80
|
+
boxWidgetOptions: {
|
81
|
+
boxWidgetIcons: {
|
82
|
+
//Collapse icon
|
83
|
+
collapse: 'fa-minus',
|
84
|
+
//Open icon
|
85
|
+
open: 'fa-plus',
|
86
|
+
//Remove icon
|
87
|
+
remove: 'fa-times'
|
88
|
+
},
|
89
|
+
boxWidgetSelectors: {
|
90
|
+
//Remove button selector
|
91
|
+
remove: '[data-widget="remove"]',
|
92
|
+
//Collapse button selector
|
93
|
+
collapse: '[data-widget="collapse"]'
|
94
|
+
}
|
95
|
+
},
|
96
|
+
//Direct Chat plugin options
|
97
|
+
directChat: {
|
98
|
+
//Enable direct chat by default
|
99
|
+
enable: false,
|
100
|
+
//The button to open and close the chat contacts pane
|
101
|
+
contactToggleSelector: '[data-widget="chat-pane-toggle"]'
|
102
|
+
},
|
103
|
+
//Define the set of colors to use globally around the website
|
104
|
+
colors: {
|
105
|
+
lightBlue: "#3c8dbc",
|
106
|
+
red: "#f56954",
|
107
|
+
green: "#00a65a",
|
108
|
+
aqua: "#00c0ef",
|
109
|
+
yellow: "#f39c12",
|
110
|
+
blue: "#0073b7",
|
111
|
+
navy: "#001F3F",
|
112
|
+
teal: "#39CCCC",
|
113
|
+
olive: "#3D9970",
|
114
|
+
lime: "#01FF70",
|
115
|
+
orange: "#FF851B",
|
116
|
+
fuchsia: "#F012BE",
|
117
|
+
purple: "#8E24AA",
|
118
|
+
maroon: "#D81B60",
|
119
|
+
black: "#222222",
|
120
|
+
gray: "#d2d6de"
|
121
|
+
},
|
122
|
+
//The standard screen sizes that bootstrap uses.
|
123
|
+
//If you change these in the variables.less file, change
|
124
|
+
//them here too.
|
125
|
+
screenSizes: {
|
126
|
+
xs: 480,
|
127
|
+
sm: 768,
|
128
|
+
md: 992,
|
129
|
+
lg: 1200
|
130
|
+
}
|
131
|
+
};
|
132
|
+
|
133
|
+
/* ------------------
|
134
|
+
* - Implementation -
|
135
|
+
* ------------------
|
136
|
+
* The next block of code implements AdminLTE's
|
137
|
+
* functions and plugins as specified by the
|
138
|
+
* options above.
|
139
|
+
*/
|
140
|
+
$(function () {
|
141
|
+
"use strict";
|
142
|
+
|
143
|
+
//Fix for IE page transitions
|
144
|
+
$("body").removeClass("hold-transition");
|
145
|
+
|
146
|
+
//Extend options if external options exist
|
147
|
+
if (typeof AdminLTEOptions !== "undefined") {
|
148
|
+
$.extend(true,
|
149
|
+
$.AdminLTE.options,
|
150
|
+
AdminLTEOptions);
|
151
|
+
}
|
152
|
+
|
153
|
+
//Easy access to options
|
154
|
+
var o = $.AdminLTE.options;
|
155
|
+
|
156
|
+
//Set up the object
|
157
|
+
_init();
|
158
|
+
|
159
|
+
//Activate the layout maker
|
160
|
+
$.AdminLTE.layout.activate();
|
161
|
+
|
162
|
+
//Enable sidebar tree view controls
|
163
|
+
$.AdminLTE.tree('.sidebar');
|
164
|
+
|
165
|
+
//Enable control sidebar
|
166
|
+
if (o.enableControlSidebar) {
|
167
|
+
$.AdminLTE.controlSidebar.activate();
|
168
|
+
}
|
169
|
+
|
170
|
+
//Add slimscroll to navbar dropdown
|
171
|
+
if (o.navbarMenuSlimscroll && typeof $.fn.slimscroll != 'undefined') {
|
172
|
+
$(".navbar .menu").slimscroll({
|
173
|
+
height: o.navbarMenuHeight,
|
174
|
+
alwaysVisible: false,
|
175
|
+
size: o.navbarMenuSlimscrollWidth
|
176
|
+
}).css("width", "100%");
|
177
|
+
}
|
178
|
+
|
179
|
+
//Activate sidebar push menu
|
180
|
+
if (o.sidebarPushMenu) {
|
181
|
+
$.AdminLTE.pushMenu.activate(o.sidebarToggleSelector);
|
182
|
+
}
|
183
|
+
|
184
|
+
//Activate Bootstrap tooltip
|
185
|
+
if (o.enableBSToppltip) {
|
186
|
+
$('body').tooltip({
|
187
|
+
selector: o.BSTooltipSelector
|
188
|
+
});
|
189
|
+
}
|
190
|
+
|
191
|
+
//Activate box widget
|
192
|
+
if (o.enableBoxWidget) {
|
193
|
+
$.AdminLTE.boxWidget.activate();
|
194
|
+
}
|
195
|
+
|
196
|
+
//Activate fast click
|
197
|
+
if (o.enableFastclick && typeof FastClick != 'undefined') {
|
198
|
+
FastClick.attach(document.body);
|
199
|
+
}
|
200
|
+
|
201
|
+
//Activate direct chat widget
|
202
|
+
if (o.directChat.enable) {
|
203
|
+
$(document).on('click', o.directChat.contactToggleSelector, function () {
|
204
|
+
var box = $(this).parents('.direct-chat').first();
|
205
|
+
box.toggleClass('direct-chat-contacts-open');
|
206
|
+
});
|
207
|
+
}
|
208
|
+
|
209
|
+
/*
|
210
|
+
* INITIALIZE BUTTON TOGGLE
|
211
|
+
* ------------------------
|
212
|
+
*/
|
213
|
+
$('.btn-group[data-toggle="btn-toggle"]').each(function () {
|
214
|
+
var group = $(this);
|
215
|
+
$(this).find(".btn").on('click', function (e) {
|
216
|
+
group.find(".btn.active").removeClass("active");
|
217
|
+
$(this).addClass("active");
|
218
|
+
e.preventDefault();
|
219
|
+
});
|
220
|
+
|
221
|
+
});
|
222
|
+
});
|
223
|
+
|
224
|
+
/* ----------------------------------
|
225
|
+
* - Initialize the AdminLTE Object -
|
226
|
+
* ----------------------------------
|
227
|
+
* All AdminLTE functions are implemented below.
|
228
|
+
*/
|
229
|
+
function _init() {
|
230
|
+
'use strict';
|
231
|
+
/* Layout
|
232
|
+
* ======
|
233
|
+
* Fixes the layout height in case min-height fails.
|
234
|
+
*
|
235
|
+
* @type Object
|
236
|
+
* @usage $.AdminLTE.layout.activate()
|
237
|
+
* $.AdminLTE.layout.fix()
|
238
|
+
* $.AdminLTE.layout.fixSidebar()
|
239
|
+
*/
|
240
|
+
$.AdminLTE.layout = {
|
241
|
+
activate: function () {
|
242
|
+
var _this = this;
|
243
|
+
_this.fix();
|
244
|
+
_this.fixSidebar();
|
245
|
+
$(window, ".wrapper").resize(function () {
|
246
|
+
_this.fix();
|
247
|
+
_this.fixSidebar();
|
248
|
+
});
|
249
|
+
},
|
250
|
+
fix: function () {
|
251
|
+
//Get window height and the wrapper height
|
252
|
+
var neg = $('.main-header').outerHeight() + $('.main-footer').outerHeight();
|
253
|
+
var window_height = $(window).height();
|
254
|
+
var sidebar_height = $(".sidebar").height();
|
255
|
+
//Set the min-height of the content and sidebar based on the
|
256
|
+
//the height of the document.
|
257
|
+
if ($("body").hasClass("fixed")) {
|
258
|
+
$(".content-wrapper, .right-side").css('min-height', window_height - $('.main-footer').outerHeight());
|
259
|
+
} else {
|
260
|
+
var postSetWidth;
|
261
|
+
if (window_height >= sidebar_height) {
|
262
|
+
$(".content-wrapper, .right-side").css('min-height', window_height - neg);
|
263
|
+
postSetWidth = window_height - neg;
|
264
|
+
} else {
|
265
|
+
$(".content-wrapper, .right-side").css('min-height', sidebar_height);
|
266
|
+
postSetWidth = sidebar_height;
|
267
|
+
}
|
268
|
+
|
269
|
+
//Fix for the control sidebar height
|
270
|
+
var controlSidebar = $($.AdminLTE.options.controlSidebarOptions.selector);
|
271
|
+
if (typeof controlSidebar !== "undefined") {
|
272
|
+
if (controlSidebar.height() > postSetWidth)
|
273
|
+
$(".content-wrapper, .right-side").css('min-height', controlSidebar.height());
|
274
|
+
}
|
275
|
+
|
276
|
+
}
|
277
|
+
},
|
278
|
+
fixSidebar: function () {
|
279
|
+
//Make sure the body tag has the .fixed class
|
280
|
+
if (!$("body").hasClass("fixed")) {
|
281
|
+
if (typeof $.fn.slimScroll != 'undefined') {
|
282
|
+
$(".sidebar").slimScroll({destroy: true}).height("auto");
|
283
|
+
}
|
284
|
+
return;
|
285
|
+
} else if (typeof $.fn.slimScroll == 'undefined' && window.console) {
|
286
|
+
window.console.error("Error: the fixed layout requires the slimscroll plugin!");
|
287
|
+
}
|
288
|
+
//Enable slimscroll for fixed layout
|
289
|
+
if ($.AdminLTE.options.sidebarSlimScroll) {
|
290
|
+
if (typeof $.fn.slimScroll != 'undefined') {
|
291
|
+
//Destroy if it exists
|
292
|
+
$(".sidebar").slimScroll({destroy: true}).height("auto");
|
293
|
+
//Add slimscroll
|
294
|
+
$(".sidebar").slimscroll({
|
295
|
+
height: ($(window).height() - $(".main-header").height()) + "px",
|
296
|
+
color: "rgba(0,0,0,0.2)",
|
297
|
+
size: "3px"
|
298
|
+
});
|
299
|
+
}
|
300
|
+
}
|
301
|
+
}
|
302
|
+
};
|
303
|
+
|
304
|
+
/* PushMenu()
|
305
|
+
* ==========
|
306
|
+
* Adds the push menu functionality to the sidebar.
|
307
|
+
*
|
308
|
+
* @type Function
|
309
|
+
* @usage: $.AdminLTE.pushMenu("[data-toggle='offcanvas']")
|
310
|
+
*/
|
311
|
+
$.AdminLTE.pushMenu = {
|
312
|
+
activate: function (toggleBtn) {
|
313
|
+
//Get the screen sizes
|
314
|
+
var screenSizes = $.AdminLTE.options.screenSizes;
|
315
|
+
|
316
|
+
//Enable sidebar toggle
|
317
|
+
$(document).on('click', toggleBtn, function (e) {
|
318
|
+
e.preventDefault();
|
319
|
+
|
320
|
+
//Enable sidebar push menu
|
321
|
+
if ($(window).width() > (screenSizes.sm - 1)) {
|
322
|
+
if ($("body").hasClass('sidebar-collapse')) {
|
323
|
+
$("body").removeClass('sidebar-collapse').trigger('expanded.pushMenu');
|
324
|
+
} else {
|
325
|
+
$("body").addClass('sidebar-collapse').trigger('collapsed.pushMenu');
|
326
|
+
}
|
327
|
+
}
|
328
|
+
//Handle sidebar push menu for small screens
|
329
|
+
else {
|
330
|
+
if ($("body").hasClass('sidebar-open')) {
|
331
|
+
$("body").removeClass('sidebar-open').removeClass('sidebar-collapse').trigger('collapsed.pushMenu');
|
332
|
+
} else {
|
333
|
+
$("body").addClass('sidebar-open').trigger('expanded.pushMenu');
|
334
|
+
}
|
335
|
+
}
|
336
|
+
});
|
337
|
+
|
338
|
+
$(".content-wrapper").click(function () {
|
339
|
+
//Enable hide menu when clicking on the content-wrapper on small screens
|
340
|
+
if ($(window).width() <= (screenSizes.sm - 1) && $("body").hasClass("sidebar-open")) {
|
341
|
+
$("body").removeClass('sidebar-open');
|
342
|
+
}
|
343
|
+
});
|
344
|
+
|
345
|
+
//Enable expand on hover for sidebar mini
|
346
|
+
if ($.AdminLTE.options.sidebarExpandOnHover
|
347
|
+
|| ($('body').hasClass('fixed')
|
348
|
+
&& $('body').hasClass('sidebar-mini'))) {
|
349
|
+
this.expandOnHover();
|
350
|
+
}
|
351
|
+
},
|
352
|
+
expandOnHover: function () {
|
353
|
+
var _this = this;
|
354
|
+
var screenWidth = $.AdminLTE.options.screenSizes.sm - 1;
|
355
|
+
//Expand sidebar on hover
|
356
|
+
$('.main-sidebar').hover(function () {
|
357
|
+
if ($('body').hasClass('sidebar-mini')
|
358
|
+
&& $("body").hasClass('sidebar-collapse')
|
359
|
+
&& $(window).width() > screenWidth) {
|
360
|
+
_this.expand();
|
361
|
+
}
|
362
|
+
}, function () {
|
363
|
+
if ($('body').hasClass('sidebar-mini')
|
364
|
+
&& $('body').hasClass('sidebar-expanded-on-hover')
|
365
|
+
&& $(window).width() > screenWidth) {
|
366
|
+
_this.collapse();
|
367
|
+
}
|
368
|
+
});
|
369
|
+
},
|
370
|
+
expand: function () {
|
371
|
+
$("body").removeClass('sidebar-collapse').addClass('sidebar-expanded-on-hover');
|
372
|
+
},
|
373
|
+
collapse: function () {
|
374
|
+
if ($('body').hasClass('sidebar-expanded-on-hover')) {
|
375
|
+
$('body').removeClass('sidebar-expanded-on-hover').addClass('sidebar-collapse');
|
376
|
+
}
|
377
|
+
}
|
378
|
+
};
|
379
|
+
|
380
|
+
/* Tree()
|
381
|
+
* ======
|
382
|
+
* Converts the sidebar into a multilevel
|
383
|
+
* tree view menu.
|
384
|
+
*
|
385
|
+
* @type Function
|
386
|
+
* @Usage: $.AdminLTE.tree('.sidebar')
|
387
|
+
*/
|
388
|
+
$.AdminLTE.tree = function (menu) {
|
389
|
+
var _this = this;
|
390
|
+
var animationSpeed = $.AdminLTE.options.animationSpeed;
|
391
|
+
$(document).on('click', menu + ' li a', function (e) {
|
392
|
+
//Get the clicked link and the next element
|
393
|
+
var $this = $(this);
|
394
|
+
var checkElement = $this.next();
|
395
|
+
|
396
|
+
//Check if the next element is a menu and is visible
|
397
|
+
if ((checkElement.is('.treeview-menu')) && (checkElement.is(':visible'))) {
|
398
|
+
//Close the menu
|
399
|
+
checkElement.slideUp(animationSpeed, function () {
|
400
|
+
checkElement.removeClass('menu-open');
|
401
|
+
//Fix the layout in case the sidebar stretches over the height of the window
|
402
|
+
//_this.layout.fix();
|
403
|
+
});
|
404
|
+
checkElement.parent("li").removeClass("active");
|
405
|
+
}
|
406
|
+
//If the menu is not visible
|
407
|
+
else if ((checkElement.is('.treeview-menu')) && (!checkElement.is(':visible'))) {
|
408
|
+
//Get the parent menu
|
409
|
+
var parent = $this.parents('ul').first();
|
410
|
+
//Close all open menus within the parent
|
411
|
+
var ul = parent.find('ul:visible').slideUp(animationSpeed);
|
412
|
+
//Remove the menu-open class from the parent
|
413
|
+
ul.removeClass('menu-open');
|
414
|
+
//Get the parent li
|
415
|
+
var parent_li = $this.parent("li");
|
416
|
+
|
417
|
+
//Open the target menu and add the menu-open class
|
418
|
+
checkElement.slideDown(animationSpeed, function () {
|
419
|
+
//Add the class active to the parent li
|
420
|
+
checkElement.addClass('menu-open');
|
421
|
+
parent.find('li.active').removeClass('active');
|
422
|
+
parent_li.addClass('active');
|
423
|
+
//Fix the layout in case the sidebar stretches over the height of the window
|
424
|
+
_this.layout.fix();
|
425
|
+
});
|
426
|
+
}
|
427
|
+
//if this isn't a link, prevent the page from being redirected
|
428
|
+
if (checkElement.is('.treeview-menu')) {
|
429
|
+
e.preventDefault();
|
430
|
+
}
|
431
|
+
});
|
432
|
+
};
|
433
|
+
|
434
|
+
/* ControlSidebar
|
435
|
+
* ==============
|
436
|
+
* Adds functionality to the right sidebar
|
437
|
+
*
|
438
|
+
* @type Object
|
439
|
+
* @usage $.AdminLTE.controlSidebar.activate(options)
|
440
|
+
*/
|
441
|
+
$.AdminLTE.controlSidebar = {
|
442
|
+
//instantiate the object
|
443
|
+
activate: function () {
|
444
|
+
//Get the object
|
445
|
+
var _this = this;
|
446
|
+
//Update options
|
447
|
+
var o = $.AdminLTE.options.controlSidebarOptions;
|
448
|
+
//Get the sidebar
|
449
|
+
var sidebar = $(o.selector);
|
450
|
+
//The toggle button
|
451
|
+
var btn = $(o.toggleBtnSelector);
|
452
|
+
|
453
|
+
//Listen to the click event
|
454
|
+
btn.on('click', function (e) {
|
455
|
+
e.preventDefault();
|
456
|
+
//If the sidebar is not open
|
457
|
+
if (!sidebar.hasClass('control-sidebar-open')
|
458
|
+
&& !$('body').hasClass('control-sidebar-open')) {
|
459
|
+
//Open the sidebar
|
460
|
+
_this.open(sidebar, o.slide);
|
461
|
+
} else {
|
462
|
+
_this.close(sidebar, o.slide);
|
463
|
+
}
|
464
|
+
});
|
465
|
+
|
466
|
+
//If the body has a boxed layout, fix the sidebar bg position
|
467
|
+
var bg = $(".control-sidebar-bg");
|
468
|
+
_this._fix(bg);
|
469
|
+
|
470
|
+
//If the body has a fixed layout, make the control sidebar fixed
|
471
|
+
if ($('body').hasClass('fixed')) {
|
472
|
+
_this._fixForFixed(sidebar);
|
473
|
+
} else {
|
474
|
+
//If the content height is less than the sidebar's height, force max height
|
475
|
+
if ($('.content-wrapper, .right-side').height() < sidebar.height()) {
|
476
|
+
_this._fixForContent(sidebar);
|
477
|
+
}
|
478
|
+
}
|
479
|
+
},
|
480
|
+
//Open the control sidebar
|
481
|
+
open: function (sidebar, slide) {
|
482
|
+
//Slide over content
|
483
|
+
if (slide) {
|
484
|
+
sidebar.addClass('control-sidebar-open');
|
485
|
+
} else {
|
486
|
+
//Push the content by adding the open class to the body instead
|
487
|
+
//of the sidebar itself
|
488
|
+
$('body').addClass('control-sidebar-open');
|
489
|
+
}
|
490
|
+
},
|
491
|
+
//Close the control sidebar
|
492
|
+
close: function (sidebar, slide) {
|
493
|
+
if (slide) {
|
494
|
+
sidebar.removeClass('control-sidebar-open');
|
495
|
+
} else {
|
496
|
+
$('body').removeClass('control-sidebar-open');
|
497
|
+
}
|
498
|
+
},
|
499
|
+
_fix: function (sidebar) {
|
500
|
+
var _this = this;
|
501
|
+
if ($("body").hasClass('layout-boxed')) {
|
502
|
+
sidebar.css('position', 'absolute');
|
503
|
+
sidebar.height($(".wrapper").height());
|
504
|
+
$(window).resize(function () {
|
505
|
+
_this._fix(sidebar);
|
506
|
+
});
|
507
|
+
} else {
|
508
|
+
sidebar.css({
|
509
|
+
'position': 'fixed',
|
510
|
+
'height': 'auto'
|
511
|
+
});
|
512
|
+
}
|
513
|
+
},
|
514
|
+
_fixForFixed: function (sidebar) {
|
515
|
+
sidebar.css({
|
516
|
+
'position': 'fixed',
|
517
|
+
'max-height': '100%',
|
518
|
+
'overflow': 'auto',
|
519
|
+
'padding-bottom': '50px'
|
520
|
+
});
|
521
|
+
},
|
522
|
+
_fixForContent: function (sidebar) {
|
523
|
+
$(".content-wrapper, .right-side").css('min-height', sidebar.height());
|
524
|
+
}
|
525
|
+
};
|
526
|
+
|
527
|
+
/* BoxWidget
|
528
|
+
* =========
|
529
|
+
* BoxWidget is a plugin to handle collapsing and
|
530
|
+
* removing boxes from the screen.
|
531
|
+
*
|
532
|
+
* @type Object
|
533
|
+
* @usage $.AdminLTE.boxWidget.activate()
|
534
|
+
* Set all your options in the main $.AdminLTE.options object
|
535
|
+
*/
|
536
|
+
$.AdminLTE.boxWidget = {
|
537
|
+
selectors: $.AdminLTE.options.boxWidgetOptions.boxWidgetSelectors,
|
538
|
+
icons: $.AdminLTE.options.boxWidgetOptions.boxWidgetIcons,
|
539
|
+
animationSpeed: $.AdminLTE.options.animationSpeed,
|
540
|
+
activate: function (_box) {
|
541
|
+
var _this = this;
|
542
|
+
if (!_box) {
|
543
|
+
_box = document; // activate all boxes per default
|
544
|
+
}
|
545
|
+
//Listen for collapse event triggers
|
546
|
+
$(_box).on('click', _this.selectors.collapse, function (e) {
|
547
|
+
e.preventDefault();
|
548
|
+
_this.collapse($(this));
|
549
|
+
});
|
550
|
+
|
551
|
+
//Listen for remove event triggers
|
552
|
+
$(_box).on('click', _this.selectors.remove, function (e) {
|
553
|
+
e.preventDefault();
|
554
|
+
_this.remove($(this));
|
555
|
+
});
|
556
|
+
},
|
557
|
+
collapse: function (element) {
|
558
|
+
var _this = this;
|
559
|
+
//Find the box parent
|
560
|
+
var box = element.parents(".box").first();
|
561
|
+
//Find the body and the footer
|
562
|
+
var box_content = box.find("> .box-body, > .box-footer, > form >.box-body, > form > .box-footer");
|
563
|
+
if (!box.hasClass("collapsed-box")) {
|
564
|
+
//Convert minus into plus
|
565
|
+
element.children(":first")
|
566
|
+
.removeClass(_this.icons.collapse)
|
567
|
+
.addClass(_this.icons.open);
|
568
|
+
//Hide the content
|
569
|
+
box_content.slideUp(_this.animationSpeed, function () {
|
570
|
+
box.addClass("collapsed-box");
|
571
|
+
});
|
572
|
+
} else {
|
573
|
+
//Convert plus into minus
|
574
|
+
element.children(":first")
|
575
|
+
.removeClass(_this.icons.open)
|
576
|
+
.addClass(_this.icons.collapse);
|
577
|
+
//Show the content
|
578
|
+
box_content.slideDown(_this.animationSpeed, function () {
|
579
|
+
box.removeClass("collapsed-box");
|
580
|
+
});
|
581
|
+
}
|
582
|
+
},
|
583
|
+
remove: function (element) {
|
584
|
+
//Find the box parent
|
585
|
+
var box = element.parents(".box").first();
|
586
|
+
box.slideUp(this.animationSpeed);
|
587
|
+
}
|
588
|
+
};
|
589
|
+
}
|
590
|
+
|
591
|
+
/* ------------------
|
592
|
+
* - Custom Plugins -
|
593
|
+
* ------------------
|
594
|
+
* All custom plugins are defined below.
|
595
|
+
*/
|
596
|
+
|
597
|
+
/*
|
598
|
+
* BOX REFRESH BUTTON
|
599
|
+
* ------------------
|
600
|
+
* This is a custom plugin to use with the component BOX. It allows you to add
|
601
|
+
* a refresh button to the box. It converts the box's state to a loading state.
|
602
|
+
*
|
603
|
+
* @type plugin
|
604
|
+
* @usage $("#box-widget").boxRefresh( options );
|
605
|
+
*/
|
606
|
+
(function ($) {
|
607
|
+
|
608
|
+
"use strict";
|
609
|
+
|
610
|
+
$.fn.boxRefresh = function (options) {
|
611
|
+
|
612
|
+
// Render options
|
613
|
+
var settings = $.extend({
|
614
|
+
//Refresh button selector
|
615
|
+
trigger: ".refresh-btn",
|
616
|
+
//File source to be loaded (e.g: ajax/src.php)
|
617
|
+
source: "",
|
618
|
+
//Callbacks
|
619
|
+
onLoadStart: function (box) {
|
620
|
+
return box;
|
621
|
+
}, //Right after the button has been clicked
|
622
|
+
onLoadDone: function (box) {
|
623
|
+
return box;
|
624
|
+
} //When the source has been loaded
|
625
|
+
|
626
|
+
}, options);
|
627
|
+
|
628
|
+
//The overlay
|
629
|
+
var overlay = $('<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>');
|
630
|
+
|
631
|
+
return this.each(function () {
|
632
|
+
//if a source is specified
|
633
|
+
if (settings.source === "") {
|
634
|
+
if (window.console) {
|
635
|
+
window.console.log("Please specify a source first - boxRefresh()");
|
636
|
+
}
|
637
|
+
return;
|
638
|
+
}
|
639
|
+
//the box
|
640
|
+
var box = $(this);
|
641
|
+
//the button
|
642
|
+
var rBtn = box.find(settings.trigger).first();
|
643
|
+
|
644
|
+
//On trigger click
|
645
|
+
rBtn.on('click', function (e) {
|
646
|
+
e.preventDefault();
|
647
|
+
//Add loading overlay
|
648
|
+
start(box);
|
649
|
+
|
650
|
+
//Perform ajax call
|
651
|
+
box.find(".box-body").load(settings.source, function () {
|
652
|
+
done(box);
|
653
|
+
});
|
654
|
+
});
|
655
|
+
});
|
656
|
+
|
657
|
+
function start(box) {
|
658
|
+
//Add overlay and loading img
|
659
|
+
box.append(overlay);
|
660
|
+
|
661
|
+
settings.onLoadStart.call(box);
|
662
|
+
}
|
663
|
+
|
664
|
+
function done(box) {
|
665
|
+
//Remove overlay and loading img
|
666
|
+
box.find(overlay).remove();
|
667
|
+
|
668
|
+
settings.onLoadDone.call(box);
|
669
|
+
}
|
670
|
+
|
671
|
+
};
|
672
|
+
|
673
|
+
})(jQuery);
|
674
|
+
|
675
|
+
/*
|
676
|
+
* EXPLICIT BOX CONTROLS
|
677
|
+
* -----------------------
|
678
|
+
* This is a custom plugin to use with the component BOX. It allows you to activate
|
679
|
+
* a box inserted in the DOM after the app.js was loaded, toggle and remove box.
|
680
|
+
*
|
681
|
+
* @type plugin
|
682
|
+
* @usage $("#box-widget").activateBox();
|
683
|
+
* @usage $("#box-widget").toggleBox();
|
684
|
+
* @usage $("#box-widget").removeBox();
|
685
|
+
*/
|
686
|
+
(function ($) {
|
687
|
+
|
688
|
+
'use strict';
|
689
|
+
|
690
|
+
$.fn.activateBox = function () {
|
691
|
+
$.AdminLTE.boxWidget.activate(this);
|
692
|
+
};
|
693
|
+
|
694
|
+
$.fn.toggleBox = function(){
|
695
|
+
var button = $($.AdminLTE.boxWidget.selectors.collapse, this);
|
696
|
+
$.AdminLTE.boxWidget.collapse(button);
|
697
|
+
};
|
698
|
+
|
699
|
+
$.fn.removeBox = function(){
|
700
|
+
var button = $($.AdminLTE.boxWidget.selectors.remove, this);
|
701
|
+
$.AdminLTE.boxWidget.remove(button);
|
702
|
+
};
|
703
|
+
|
704
|
+
})(jQuery);
|
705
|
+
|
706
|
+
/*
|
707
|
+
* TODO LIST CUSTOM PLUGIN
|
708
|
+
* -----------------------
|
709
|
+
* This plugin depends on iCheck plugin for checkbox and radio inputs
|
710
|
+
*
|
711
|
+
* @type plugin
|
712
|
+
* @usage $("#todo-widget").todolist( options );
|
713
|
+
*/
|
714
|
+
(function ($) {
|
715
|
+
|
716
|
+
'use strict';
|
717
|
+
|
718
|
+
$.fn.todolist = function (options) {
|
719
|
+
// Render options
|
720
|
+
var settings = $.extend({
|
721
|
+
//When the user checks the input
|
722
|
+
onCheck: function (ele) {
|
723
|
+
return ele;
|
724
|
+
},
|
725
|
+
//When the user unchecks the input
|
726
|
+
onUncheck: function (ele) {
|
727
|
+
return ele;
|
728
|
+
}
|
729
|
+
}, options);
|
730
|
+
|
731
|
+
return this.each(function () {
|
732
|
+
|
733
|
+
if (typeof $.fn.iCheck != 'undefined') {
|
734
|
+
$('input', this).on('ifChecked', function () {
|
735
|
+
var ele = $(this).parents("li").first();
|
736
|
+
ele.toggleClass("done");
|
737
|
+
settings.onCheck.call(ele);
|
738
|
+
});
|
739
|
+
|
740
|
+
$('input', this).on('ifUnchecked', function () {
|
741
|
+
var ele = $(this).parents("li").first();
|
742
|
+
ele.toggleClass("done");
|
743
|
+
settings.onUncheck.call(ele);
|
744
|
+
});
|
745
|
+
} else {
|
746
|
+
$('input', this).on('change', function () {
|
747
|
+
var ele = $(this).parents("li").first();
|
748
|
+
ele.toggleClass("done");
|
749
|
+
if ($('input', ele).is(":checked")) {
|
750
|
+
settings.onCheck.call(ele);
|
751
|
+
} else {
|
752
|
+
settings.onUncheck.call(ele);
|
753
|
+
}
|
754
|
+
});
|
755
|
+
}
|
756
|
+
});
|
757
|
+
};
|
758
|
+
}(jQuery));
|