camaleon_cms 1.1.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of camaleon_cms might be problematic. Click here for more details.

Files changed (635) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +27 -60
  3. data/app/apps/plugins/attack/admin_controller.rb +1 -1
  4. data/app/apps/plugins/attack/attack_helper.rb +4 -4
  5. data/app/apps/plugins/attack/config/config.json +1 -1
  6. data/app/apps/plugins/attack/config/custom_models.rb +1 -1
  7. data/app/apps/plugins/attack/views/admin/settings.html.erb +2 -2
  8. data/app/apps/plugins/contact_form/admin_forms_controller.rb +8 -7
  9. data/app/apps/plugins/contact_form/config/custom_models.rb +1 -1
  10. data/app/apps/plugins/contact_form/contact_form_helper.rb +4 -5
  11. data/app/apps/plugins/contact_form/contact_form_html_helper.rb +2 -2
  12. data/app/apps/plugins/contact_form/front_controller.rb +1 -1
  13. data/app/apps/plugins/contact_form/views/admin_forms/_form.html.erb +5 -5
  14. data/app/apps/plugins/contact_form/views/admin_forms/edit.html.erb +19 -35
  15. data/app/apps/plugins/contact_form/views/admin_forms/index.html.erb +3 -3
  16. data/app/apps/plugins/contact_form/views/admin_forms/responses.html.erb +6 -13
  17. data/app/apps/plugins/contact_form/views/forms_shorcode.html.erb +1 -1
  18. data/app/apps/plugins/contact_form/views/front/index.html.erb +1 -1
  19. data/app/apps/plugins/front_cache/admin_controller.rb +1 -1
  20. data/app/apps/plugins/front_cache/config/initializer.rb +1 -1
  21. data/app/apps/plugins/front_cache/front_cache_helper.rb +37 -42
  22. data/app/apps/plugins/front_cache/views/admin/settings.html.erb +3 -3
  23. data/app/apps/plugins/visibility_post/config/config.json +1 -1
  24. data/app/apps/plugins/visibility_post/visibility_post_helper.rb +21 -23
  25. data/app/apps/themes/camaleon_first/assets/css/main.css +1 -1
  26. data/app/apps/themes/camaleon_first/assets/js/main.js +1 -1
  27. data/app/apps/themes/camaleon_first/views/admin/settings.html.erb +1 -1
  28. data/app/apps/themes/default/views/admin/settings.html.erb +1 -1
  29. data/app/apps/themes/default/views/category.html.erb +1 -1
  30. data/app/apps/themes/default/views/layouts/index.html.erb +7 -7
  31. data/app/apps/themes/default/views/partials/_comments.html.erb +1 -1
  32. data/app/apps/themes/default/views/partials/_forms.html.erb +2 -2
  33. data/app/apps/themes/default/views/partials/_search_form.html.erb +4 -4
  34. data/app/apps/themes/default/views/post_tag.html.erb +1 -1
  35. data/app/apps/themes/default/views/post_type.html.erb +1 -1
  36. data/app/apps/themes/default/views/search.html.erb +1 -1
  37. data/app/apps/themes/new/assets/js/main.js +0 -1
  38. data/app/apps/themes/new/views/admin/settings.html.erb +1 -1
  39. data/app/apps/themes/new/views/category.html.erb +1 -1
  40. data/app/apps/themes/new/views/layouts/_footer.html.erb +0 -1
  41. data/app/apps/themes/new/views/layouts/_header.html.erb +7 -7
  42. data/app/apps/themes/new/views/layouts/index.html.erb +0 -1
  43. data/app/apps/themes/new/views/partials/_comments.html.erb +1 -1
  44. data/app/apps/themes/new/views/partials/_forms.html.erb +2 -2
  45. data/app/apps/themes/new/views/partials/_search_form.html.erb +2 -3
  46. data/app/apps/themes/new/views/post_tag.html.erb +1 -1
  47. data/app/apps/themes/new/views/post_type.html.erb +1 -1
  48. data/app/apps/themes/new/views/search.html.erb +1 -1
  49. data/app/assets/fonts/{glyphicons-halflings-regular.eot → camaleon_cms/glyphicons-halflings-regular.eot} +0 -0
  50. data/app/assets/fonts/{glyphicons-halflings-regular.svg → camaleon_cms/glyphicons-halflings-regular.svg} +0 -0
  51. data/app/assets/fonts/{glyphicons-halflings-regular.ttf → camaleon_cms/glyphicons-halflings-regular.ttf} +0 -0
  52. data/app/assets/fonts/{glyphicons-halflings-regular.woff → camaleon_cms/glyphicons-halflings-regular.woff} +0 -0
  53. data/app/assets/images/camaleon_cms/admin/admin_spinner.gif +0 -0
  54. data/app/assets/images/{admin → camaleon_cms/admin}/glyphicons-halflings.png +0 -0
  55. data/app/assets/images/{admin → camaleon_cms/admin}/intro/menus.png +0 -0
  56. data/app/assets/images/{admin → camaleon_cms/admin}/no_image.jpg +0 -0
  57. data/app/assets/images/{bg-tree.jpeg → camaleon_cms/bg-tree.jpeg} +0 -0
  58. data/app/assets/images/{camaleon-dark.png → camaleon_cms/camaleon-dark.png} +0 -0
  59. data/app/assets/images/camaleon_cms/camaleon.png +0 -0
  60. data/app/assets/images/{category-icon.png → camaleon_cms/category-icon.png} +0 -0
  61. data/app/assets/images/camaleon_cms/favicon.ico +0 -0
  62. data/app/assets/images/{image-not-found.png → camaleon_cms/image-not-found.png} +0 -0
  63. data/app/assets/images/{language → camaleon_cms/language}/de.png +0 -0
  64. data/app/assets/images/{language → camaleon_cms/language}/en.png +0 -0
  65. data/app/assets/images/{language → camaleon_cms/language}/es.png +0 -0
  66. data/app/assets/images/{language → camaleon_cms/language}/fr.png +0 -0
  67. data/app/assets/images/{language → camaleon_cms/language}/it.png +0 -0
  68. data/app/assets/images/{language → camaleon_cms/language}/pt.png +0 -0
  69. data/app/assets/images/camaleon_cms/language/pt_br.png +0 -0
  70. data/app/assets/images/{language → camaleon_cms/language}/zh.png +0 -0
  71. data/app/assets/images/{loader.gif → camaleon_cms/loader.gif} +0 -0
  72. data/app/assets/images/{users → camaleon_cms/users}/no-image.jpg +0 -0
  73. data/app/assets/javascripts/{admin/actions.js → camaleon_cms/admin/_actions.js} +3 -5
  74. data/app/assets/javascripts/camaleon_cms/admin/_custom_fields.js +178 -0
  75. data/app/assets/javascripts/{admin/data.js → camaleon_cms/admin/_data.js} +4 -9
  76. data/app/assets/javascripts/{admin/i18n.js → camaleon_cms/admin/_i18n.js} +10 -4
  77. data/app/assets/javascripts/{admin/jquery-ui.min.js → camaleon_cms/admin/_jquery-ui.min.js} +0 -0
  78. data/app/assets/javascripts/camaleon_cms/admin/_jquery.slugify.js +67 -0
  79. data/app/assets/javascripts/{admin/jquery.tagsinput.min.js → camaleon_cms/admin/_jquery.tagsinput.min.js} +0 -0
  80. data/app/assets/javascripts/camaleon_cms/admin/_libraries.js +339 -0
  81. data/app/assets/javascripts/{admin/modal.js → camaleon_cms/admin/_modal.js} +42 -25
  82. data/app/assets/javascripts/camaleon_cms/admin/_post.js +303 -0
  83. data/app/assets/javascripts/{admin/translator.js → camaleon_cms/admin/_translator.js} +4 -3
  84. data/app/assets/javascripts/{admin/underscore.js → camaleon_cms/admin/_underscore.js} +0 -0
  85. data/app/assets/javascripts/camaleon_cms/admin/admin-basic-manifest.js +3 -0
  86. data/app/assets/javascripts/{admin → camaleon_cms/admin}/admin-manifest.js +23 -18
  87. data/app/assets/javascripts/{admin → camaleon_cms/admin}/bootstrap-colorpicker.js +0 -0
  88. data/app/assets/javascripts/{admin → camaleon_cms/admin}/bootstrap-datepicker.js +0 -0
  89. data/app/assets/javascripts/{admin → camaleon_cms/admin}/bootstrap-datetimepicker.min.js +0 -0
  90. data/app/assets/javascripts/{admin → camaleon_cms/admin}/bootstrap-select.js +0 -0
  91. data/app/assets/javascripts/camaleon_cms/admin/custom_fields_form.js +69 -0
  92. data/app/assets/javascripts/{admin → camaleon_cms/admin}/form-builder/formbuilder.js +0 -0
  93. data/app/assets/javascripts/{admin → camaleon_cms/admin}/form-builder/vendor.js +0 -0
  94. data/app/assets/javascripts/{admin → camaleon_cms/admin}/form/cropper.min.js +0 -0
  95. data/app/assets/javascripts/{admin → camaleon_cms/admin}/form/jquery.form.js +0 -0
  96. data/app/assets/javascripts/{admin/introjs/intro.min.js → camaleon_cms/admin/introjs/_intro.min.js} +0 -0
  97. data/app/assets/javascripts/{admin → camaleon_cms/admin}/jquery-sieve.js +0 -0
  98. data/app/assets/javascripts/{admin → camaleon_cms/admin}/jquery.nestable.js +0 -0
  99. data/app/assets/javascripts/{admin → camaleon_cms/admin}/jquery.validate.js +0 -0
  100. data/app/assets/javascripts/{admin → camaleon_cms/admin/jquery_validate}/es.js +0 -0
  101. data/app/assets/javascripts/{admin → camaleon_cms/admin/jquery_validate}/it.js +0 -0
  102. data/app/assets/javascripts/camaleon_cms/admin/jquery_validate/pt_br.js +74 -0
  103. data/app/assets/javascripts/{admin → camaleon_cms/admin}/login.js.coffee +0 -0
  104. data/app/assets/javascripts/{admin → camaleon_cms/admin}/login_manifest.js +0 -0
  105. data/app/assets/javascripts/{admin → camaleon_cms/admin}/lte/app.js +0 -0
  106. data/app/assets/javascripts/{admin → camaleon_cms/admin}/nav-menu.js +5 -0
  107. data/app/assets/javascripts/{admin → camaleon_cms/admin}/plugins.js +0 -0
  108. data/app/assets/javascripts/{admin/tageditor/jquery.caret.min.js → camaleon_cms/admin/tageditor/_jquery.caret.min.js} +0 -0
  109. data/app/assets/javascripts/{admin/tageditor/jquery.tag-editor.js → camaleon_cms/admin/tageditor/_jquery.tag-editor.js} +0 -0
  110. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/langs/en.js +0 -0
  111. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/langs/es.js +0 -0
  112. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/langs/it.js +0 -0
  113. data/app/assets/javascripts/camaleon_cms/admin/tinymce/langs/pt_br.js +219 -0
  114. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/langs/readme.md +0 -0
  115. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-cool.gif +0 -0
  116. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-cry.gif +0 -0
  117. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-embarassed.gif +0 -0
  118. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
  119. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-frown.gif +0 -0
  120. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-innocent.gif +0 -0
  121. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-kiss.gif +0 -0
  122. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-laughing.gif +0 -0
  123. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
  124. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-sealed.gif +0 -0
  125. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-smile.gif +0 -0
  126. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-surprised.gif +0 -0
  127. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
  128. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-undecided.gif +0 -0
  129. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-wink.gif +0 -0
  130. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/emoticons/img/smiley-yell.gif +0 -0
  131. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/filemanager/plugin.min.js +3 -4
  132. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/plugins/visualblocks/css/visualblocks.css +0 -0
  133. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/content.min.css.scss +2 -2
  134. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
  135. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/fonts/tinymce-small.svg +0 -0
  136. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  137. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
  138. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  139. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/fonts/tinymce.svg +0 -0
  140. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  141. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  142. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/img/anchor.gif +0 -0
  143. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/img/loader.gif +0 -0
  144. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/img/object.gif +0 -0
  145. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/skins/lightgray/img/trans.gif +0 -0
  146. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/themes/modern/theme.min.js +0 -0
  147. data/app/assets/javascripts/{admin → camaleon_cms/admin}/tinymce/tinymce.min.js +0 -0
  148. data/app/assets/javascripts/camaleon_cms/admin/uploader/_jquery.uploadfile.min.js +8 -0
  149. data/app/assets/javascripts/camaleon_cms/admin/uploader/_media_manager.js.coffee +161 -0
  150. data/app/assets/javascripts/camaleon_cms/admin/uploader/uploader_manifest.js +2 -0
  151. data/app/assets/javascripts/camaleon_cms/admin/user_profile.js +70 -0
  152. data/app/assets/javascripts/{bootstrap.min.js → camaleon_cms/bootstrap.min.js} +0 -0
  153. data/app/assets/javascripts/{gibberish-aes.js → camaleon_cms/gibberish-aes.js} +0 -0
  154. data/app/assets/stylesheets/camaleon_cms/admin/_custom_admin.css.scss +267 -0
  155. data/app/assets/stylesheets/{admin/jquery.tagsinput.css → camaleon_cms/admin/_jquery.tagsinput.css} +0 -0
  156. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/admin-basic-manifest.css +3 -3
  157. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/admin-manifest.css +16 -8
  158. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/bootstrap-datepicker.css.scss +0 -0
  159. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/bootstrap-datetimepicker.css.scss +1 -1
  160. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/colorpicker.css.scss +4 -4
  161. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/cropper/cropper.min.css +0 -0
  162. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/form-builder/formbuilder.css +0 -0
  163. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/bg.png +0 -0
  164. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/colorpicker/alpha.png +0 -0
  165. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/colorpicker/hue.png +0 -0
  166. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/colorpicker/saturation.png +0 -0
  167. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/girls-1.jpg +0 -0
  168. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/jquery/resize-icon.png +0 -0
  169. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/loading.gif +0 -0
  170. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/logo-small.png +0 -0
  171. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/logo.png +0 -0
  172. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/no_image.jpg +0 -0
  173. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/rormeleon-white.png +0 -0
  174. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/img/thumb_no_found.jpg +0 -0
  175. data/app/assets/stylesheets/{admin/introjs/introjs.min.css → camaleon_cms/admin/introjs/_introjs.min.css} +0 -0
  176. data/app/assets/stylesheets/{admin/jquery/jquery-ui.scss → camaleon_cms/admin/jquery/_jquery-ui.scss} +16 -16
  177. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  178. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  179. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  180. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  181. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  182. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  183. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  184. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  185. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-icons_222222_256x240.png +0 -0
  186. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  187. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-icons_454545_256x240.png +0 -0
  188. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-icons_888888_256x240.png +0 -0
  189. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  190. data/app/assets/stylesheets/{admin/lte/admin.css.scss → camaleon_cms/admin/lte/_admin.css.scss} +4 -0
  191. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-black-light.css +0 -0
  192. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-black.css +0 -0
  193. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-blue-light.css +0 -0
  194. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-blue.css +0 -0
  195. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-green-light.css +0 -0
  196. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-green.css +0 -0
  197. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-purple-light.css +0 -0
  198. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-purple.css +0 -0
  199. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-red-light.css +0 -0
  200. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-red.css +0 -0
  201. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-yellow-light.css +0 -0
  202. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/lte/skins/skin-yellow.css +0 -0
  203. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/nav-menu.css.scss +0 -0
  204. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/nestable/jquery.nestable.css +0 -0
  205. data/app/assets/stylesheets/{admin/tageditor/jquery.tag-editor.css.scss → camaleon_cms/admin/tageditor/_jquery.tag-editor.css.scss} +0 -0
  206. data/app/assets/stylesheets/camaleon_cms/admin/uploader/_uploadfile.css.scss +253 -0
  207. data/app/assets/stylesheets/{admin → camaleon_cms/admin}/widgets.css.scss +0 -0
  208. data/app/assets/stylesheets/camaleon_cms/bootstrap.min.css.scss +5 -0
  209. data/app/controllers/{admin → camaleon_cms/admin}/appearances/nav_menus_controller.rb +14 -11
  210. data/app/controllers/{admin → camaleon_cms/admin}/appearances/themes_controller.rb +4 -2
  211. data/app/controllers/{admin → camaleon_cms/admin}/appearances/widgets/assign_controller.rb +5 -5
  212. data/app/controllers/{admin → camaleon_cms/admin}/appearances/widgets/main_controller.rb +8 -6
  213. data/app/controllers/{admin → camaleon_cms/admin}/appearances/widgets/sidebar_controller.rb +9 -9
  214. data/app/controllers/{admin → camaleon_cms/admin}/categories_controller.rb +18 -10
  215. data/app/controllers/camaleon_cms/admin/comments_controller.rb +97 -0
  216. data/app/controllers/{admin → camaleon_cms/admin}/installers_controller.rb +10 -10
  217. data/app/controllers/camaleon_cms/admin/media_controller.rb +84 -0
  218. data/app/controllers/{admin → camaleon_cms/admin}/plugins_controller.rb +7 -6
  219. data/app/controllers/{admin → camaleon_cms/admin}/post_tags_controller.rb +18 -10
  220. data/app/controllers/{admin → camaleon_cms/admin}/posts/drafts_controller.rb +5 -5
  221. data/app/controllers/{admin → camaleon_cms/admin}/posts_controller.rb +40 -23
  222. data/app/controllers/{admin → camaleon_cms/admin}/sessions_controller.rb +45 -35
  223. data/app/controllers/{admin → camaleon_cms/admin}/settings/custom_fields_controller.rb +13 -12
  224. data/app/controllers/{admin → camaleon_cms/admin}/settings/post_types_controller.rb +14 -13
  225. data/app/controllers/{admin → camaleon_cms/admin}/settings/sites_controller.rb +17 -15
  226. data/app/controllers/{admin → camaleon_cms/admin}/settings_controller.rb +8 -5
  227. data/app/controllers/{admin → camaleon_cms/admin}/user_roles_controller.rb +12 -11
  228. data/app/controllers/{admin → camaleon_cms/admin}/users_controller.rb +42 -48
  229. data/app/controllers/{admin_controller.rb → camaleon_cms/admin_controller.rb} +28 -9
  230. data/app/controllers/{apps → camaleon_cms/apps}/plugins_admin_controller.rb +7 -3
  231. data/app/controllers/camaleon_cms/apps/plugins_front_controller.rb +38 -0
  232. data/app/controllers/{apps → camaleon_cms/apps}/themes_admin_controller.rb +1 -1
  233. data/app/controllers/{apps → camaleon_cms/apps}/themes_front_controller.rb +1 -1
  234. data/app/controllers/camaleon_cms/camaleon_controller.rb +99 -0
  235. data/app/controllers/{frontend_controller.rb → camaleon_cms/frontend_controller.rb} +56 -45
  236. data/app/controllers/concerns/{frontend_concern.rb → camaleon_cms/frontend_concern.rb} +8 -8
  237. data/app/decorators/{application_decorator.rb → camaleon_cms/application_decorator.rb} +5 -17
  238. data/app/decorators/{category_decorator.rb → camaleon_cms/category_decorator.rb} +8 -3
  239. data/app/decorators/{custom_field_decorator.rb → camaleon_cms/custom_field_decorator.rb} +1 -1
  240. data/app/decorators/{custom_fields_concern.rb → camaleon_cms/custom_fields_concern.rb} +4 -3
  241. data/app/decorators/{metas_decorator_methods.rb → camaleon_cms/metas_decorator_methods.rb} +1 -1
  242. data/app/decorators/{nav_menu_item_decorator.rb → camaleon_cms/nav_menu_item_decorator.rb} +2 -2
  243. data/app/decorators/{post_comment_decorator.rb → camaleon_cms/post_comment_decorator.rb} +3 -2
  244. data/app/decorators/{post_decorator.rb → camaleon_cms/post_decorator.rb} +61 -14
  245. data/app/decorators/{post_tag_decorator.rb → camaleon_cms/post_tag_decorator.rb} +8 -3
  246. data/app/decorators/{post_type_decorator.rb → camaleon_cms/post_type_decorator.rb} +29 -6
  247. data/app/decorators/{site_decorator.rb → camaleon_cms/site_decorator.rb} +24 -22
  248. data/app/decorators/{term_taxonomy_decorator.rb → camaleon_cms/term_taxonomy_decorator.rb} +15 -15
  249. data/app/decorators/{theme_decorator.rb → camaleon_cms/theme_decorator.rb} +1 -1
  250. data/app/decorators/{user_decorator.rb → camaleon_cms/user_decorator.rb} +23 -11
  251. data/app/decorators/{widget_decorator.rb → camaleon_cms/widget_decorator.rb} +2 -2
  252. data/app/helpers/{admin → camaleon_cms/admin}/application_helper.rb +17 -9
  253. data/app/helpers/{admin → camaleon_cms/admin}/breadcrumb_helper.rb +6 -20
  254. data/app/helpers/{admin → camaleon_cms/admin}/category_helper.rb +6 -3
  255. data/app/helpers/{admin → camaleon_cms/admin}/custom_fields_helper.rb +21 -20
  256. data/app/helpers/{admin → camaleon_cms/admin}/menus_helper.rb +26 -36
  257. data/app/helpers/{admin → camaleon_cms/admin}/post_type_helper.rb +4 -4
  258. data/app/helpers/{camaleon_helper.rb → camaleon_cms/camaleon_helper.rb} +23 -19
  259. data/app/helpers/{captcha_helper.rb → camaleon_cms/captcha_helper.rb} +21 -17
  260. data/app/helpers/camaleon_cms/comment_helper.rb +48 -0
  261. data/app/helpers/{content_helper.rb → camaleon_cms/content_helper.rb} +12 -10
  262. data/app/helpers/{frontend → camaleon_cms/frontend}/application_helper.rb +7 -7
  263. data/app/helpers/{frontend → camaleon_cms/frontend}/nav_menu_helper.rb +21 -34
  264. data/app/helpers/{frontend → camaleon_cms/frontend}/seo_helper.rb +5 -5
  265. data/app/helpers/{frontend → camaleon_cms/frontend}/site_helper.rb +17 -10
  266. data/app/helpers/{hooks_helper.rb → camaleon_cms/hooks_helper.rb} +1 -1
  267. data/app/helpers/camaleon_cms/html_helper.rb +106 -0
  268. data/app/helpers/{plugins_helper.rb → camaleon_cms/plugins_helper.rb} +49 -64
  269. data/app/helpers/{session_helper.rb → camaleon_cms/session_helper.rb} +29 -26
  270. data/app/helpers/{short_code_helper.rb → camaleon_cms/short_code_helper.rb} +50 -16
  271. data/app/helpers/{site_helper.rb → camaleon_cms/site_helper.rb} +14 -19
  272. data/app/helpers/{theme_helper.rb → camaleon_cms/theme_helper.rb} +37 -43
  273. data/app/helpers/camaleon_cms/uploader_helper.rb +366 -0
  274. data/app/helpers/{user_roles_helper.rb → camaleon_cms/user_roles_helper.rb} +3 -3
  275. data/app/mailers/{html_mailer.rb → camaleon_cms/html_mailer.rb} +7 -7
  276. data/app/models/{ability.rb → camaleon_cms/ability.rb} +3 -3
  277. data/app/models/{category.rb → camaleon_cms/category.rb} +15 -12
  278. data/app/models/{custom_field.rb → camaleon_cms/custom_field.rb} +8 -10
  279. data/app/models/{custom_field_group.rb → camaleon_cms/custom_field_group.rb} +12 -11
  280. data/app/models/{custom_fields_relationship.rb → camaleon_cms/custom_fields_relationship.rb} +4 -4
  281. data/app/models/{meta.rb → camaleon_cms/meta.rb} +2 -5
  282. data/app/models/{nav_menu.rb → camaleon_cms/nav_menu.rb} +14 -13
  283. data/app/models/{nav_menu_item.rb → camaleon_cms/nav_menu_item.rb} +18 -7
  284. data/app/models/{plugin.rb → camaleon_cms/plugin.rb} +3 -3
  285. data/app/models/{post.rb → camaleon_cms/post.rb} +57 -32
  286. data/app/models/{post_comment.rb → camaleon_cms/post_comment.rb} +10 -9
  287. data/app/models/{post_default.rb → camaleon_cms/post_default.rb} +24 -19
  288. data/app/models/{post_relationship.rb → camaleon_cms/post_relationship.rb} +5 -5
  289. data/app/models/{post_tag.rb → camaleon_cms/post_tag.rb} +4 -4
  290. data/app/models/{post_type.rb → camaleon_cms/post_type.rb} +49 -17
  291. data/app/models/{site.rb → camaleon_cms/site.rb} +38 -80
  292. data/app/models/{term_relationship.rb → camaleon_cms/term_relationship.rb} +6 -4
  293. data/app/models/camaleon_cms/term_taxonomy.rb +81 -0
  294. data/app/models/{theme.rb → camaleon_cms/theme.rb} +3 -3
  295. data/app/models/{user.rb → camaleon_cms/user.rb} +23 -37
  296. data/app/models/{user_relationship.rb → camaleon_cms/user_relationship.rb} +4 -4
  297. data/app/models/camaleon_cms/user_role.rb +140 -0
  298. data/app/models/{widget.rb → camaleon_cms/widget.rb} +1 -1
  299. data/app/models/{widget → camaleon_cms/widget}/assigned.rb +4 -4
  300. data/app/models/{widget → camaleon_cms/widget}/main.rb +5 -5
  301. data/app/models/{widget → camaleon_cms/widget}/sidebar.rb +3 -3
  302. data/app/models/concerns/{categories_tags_for_posts.rb → camaleon_cms/categories_tags_for_posts.rb} +3 -3
  303. data/app/models/concerns/{custom_fields_read.rb → camaleon_cms/custom_fields_read.rb} +10 -11
  304. data/app/models/concerns/camaleon_cms/metas.rb +135 -0
  305. data/app/views/camaleon_cms/404.html.erb +4 -0
  306. data/app/views/camaleon_cms/500.html.erb +4 -0
  307. data/app/views/{_flash_messages.html.erb → camaleon_cms/_flash_messages.html.erb} +0 -0
  308. data/app/views/camaleon_cms/admin/appearances/nav_menus/_custom_fields.html.erb +6 -0
  309. data/app/views/{admin → camaleon_cms/admin}/appearances/nav_menus/_custom_menus.html.erb +2 -2
  310. data/app/views/{admin → camaleon_cms/admin}/appearances/nav_menus/_external_menu.html.erb +3 -3
  311. data/app/views/camaleon_cms/admin/appearances/nav_menus/_menu_form.html.erb +36 -0
  312. data/app/views/{admin → camaleon_cms/admin}/appearances/nav_menus/_menu_list.html.erb +5 -5
  313. data/app/views/{admin → camaleon_cms/admin}/appearances/nav_menus/index.html.erb +8 -8
  314. data/app/views/{admin → camaleon_cms/admin}/appearances/themes/index.html.erb +7 -6
  315. data/app/views/{admin → camaleon_cms/admin}/appearances/themes/preview.html.erb +0 -0
  316. data/app/views/{admin → camaleon_cms/admin}/appearances/themes/theme_load_data.html.erb +1 -1
  317. data/app/views/{admin → camaleon_cms/admin}/appearances/widgets/assign/_form.html.erb +5 -5
  318. data/app/views/{admin → camaleon_cms/admin}/appearances/widgets/main/_sidebar.html.erb +4 -4
  319. data/app/views/camaleon_cms/admin/appearances/widgets/main/form.html.erb +27 -0
  320. data/app/views/camaleon_cms/admin/appearances/widgets/main/index.html.erb +41 -0
  321. data/app/views/{admin → camaleon_cms/admin}/appearances/widgets/sidebar/form.html.erb +5 -5
  322. data/app/views/camaleon_cms/admin/categories/_form.html.erb +42 -0
  323. data/app/views/{admin/settings/post_types → camaleon_cms/admin/categories}/edit.html.erb +1 -1
  324. data/app/views/{admin → camaleon_cms/admin}/categories/index.html.erb +16 -26
  325. data/app/views/camaleon_cms/admin/comments/form.html.erb +12 -0
  326. data/app/views/camaleon_cms/admin/comments/form_answer.html.erb +12 -0
  327. data/app/views/camaleon_cms/admin/comments/index.html.erb +21 -0
  328. data/app/views/camaleon_cms/admin/comments/list.html.erb +36 -0
  329. data/app/views/{admin/dashboard/index.html.erb → camaleon_cms/admin/dashboard.html.erb} +2 -2
  330. data/app/views/{admin → camaleon_cms/admin}/installers/form.html.erb +6 -6
  331. data/app/views/camaleon_cms/admin/installers/welcome.html.erb +8 -0
  332. data/app/views/camaleon_cms/admin/media/_files_list.html.erb +7 -0
  333. data/app/views/camaleon_cms/admin/media/_render_file_item.html.erb +27 -0
  334. data/app/views/camaleon_cms/admin/media/_render_folder_item.html.erb +13 -0
  335. data/app/views/camaleon_cms/admin/media/index.html.erb +25 -0
  336. data/app/views/{admin → camaleon_cms/admin}/plugins/_plugins_list.html.erb +10 -10
  337. data/app/views/{admin → camaleon_cms/admin}/plugins/index.html.erb +10 -6
  338. data/app/views/{admin → camaleon_cms/admin}/post_tags/_form.html.erb +8 -14
  339. data/app/views/{admin → camaleon_cms/admin}/post_tags/edit.html.erb +2 -2
  340. data/app/views/camaleon_cms/admin/post_tags/index.html.erb +58 -0
  341. data/app/views/camaleon_cms/admin/posts/_filter_posts.html.erb +5 -0
  342. data/app/views/{admin → camaleon_cms/admin}/posts/_sidebar.html.erb +34 -36
  343. data/app/views/camaleon_cms/admin/posts/form.html.erb +97 -0
  344. data/app/views/{admin → camaleon_cms/admin}/posts/index.html.erb +34 -31
  345. data/app/views/{admin → camaleon_cms/admin}/posts/show.html.erb +1 -1
  346. data/app/views/camaleon_cms/admin/search.html.erb +68 -0
  347. data/app/views/camaleon_cms/admin/sessions/forgot.html.erb +44 -0
  348. data/app/views/camaleon_cms/admin/sessions/login.html.erb +49 -0
  349. data/app/views/camaleon_cms/admin/sessions/register.html.erb +63 -0
  350. data/app/views/camaleon_cms/admin/settings/_configuration_settings.html.erb +35 -0
  351. data/app/views/camaleon_cms/admin/settings/_email_settings.html.erb +33 -0
  352. data/app/views/camaleon_cms/admin/settings/_file_system_settings.html.erb +23 -0
  353. data/app/views/camaleon_cms/admin/settings/_seo_settings.html.erb +22 -0
  354. data/app/views/{admin/settings/custom_fields/get_items.html.erb → camaleon_cms/admin/settings/custom_fields/_get_items.html.erb} +19 -39
  355. data/app/views/{admin → camaleon_cms/admin}/settings/custom_fields/_meta_data.html.erb +2 -2
  356. data/app/views/{admin → camaleon_cms/admin}/settings/custom_fields/_render.html.erb +25 -31
  357. data/app/views/{admin/settings/custom_fields/fields/audio.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_audio.html.erb} +1 -1
  358. data/app/views/{admin/settings/custom_fields/fields/checkbox.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_checkbox.html.erb} +0 -0
  359. data/app/views/{admin/settings/custom_fields/fields/checkboxes.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_checkboxes.html.erb} +0 -0
  360. data/app/views/{admin/settings/custom_fields/fields/colorpicker.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_colorpicker.html.erb} +0 -0
  361. data/app/views/{admin/settings/custom_fields/fields/date.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_date.html.erb} +0 -0
  362. data/app/views/{admin/settings/custom_fields/fields/editor.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_editor.html.erb} +0 -1
  363. data/app/views/{admin/settings/custom_fields/fields/email.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_email.html.erb} +0 -0
  364. data/app/views/camaleon_cms/admin/settings/custom_fields/fields/_field_attrs.html.erb +8 -0
  365. data/app/views/{admin/settings/custom_fields/fields/file.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_file.html.erb} +1 -1
  366. data/app/views/{admin/settings/custom_fields/fields/image.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_image.html.erb} +1 -1
  367. data/app/views/{admin/settings/custom_fields/fields/numeric.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_numeric.html.erb} +0 -0
  368. data/app/views/{admin/settings/custom_fields/fields/phone.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_phone.html.erb} +0 -0
  369. data/app/views/{admin/settings/custom_fields/fields/posts.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_posts.html.erb} +0 -0
  370. data/app/views/{admin/settings/custom_fields/fields/radio.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_radio.html.erb} +0 -0
  371. data/app/views/{admin/settings/custom_fields/fields/select.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_select.html.erb} +0 -0
  372. data/app/views/{admin/settings/custom_fields/fields/select_eval.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_select_eval.html.erb} +0 -0
  373. data/app/views/{admin/settings/custom_fields/fields/text_area.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_text_area.html.erb} +0 -0
  374. data/app/views/{admin/settings/custom_fields/fields/text_box.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_text_box.html.erb} +0 -0
  375. data/app/views/{admin/settings/custom_fields/fields/url.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_url.html.erb} +0 -0
  376. data/app/views/{admin/settings/custom_fields/fields/users.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_users.html.erb} +0 -0
  377. data/app/views/{admin/settings/custom_fields/fields/video.html.erb → camaleon_cms/admin/settings/custom_fields/fields/_video.html.erb} +1 -1
  378. data/app/views/camaleon_cms/admin/settings/custom_fields/form.html.erb +137 -0
  379. data/app/views/{admin → camaleon_cms/admin}/settings/custom_fields/index.html.erb +18 -14
  380. data/app/views/{admin → camaleon_cms/admin}/settings/languages.html.erb +7 -7
  381. data/app/views/camaleon_cms/admin/settings/post_types/_form.html.erb +134 -0
  382. data/app/views/{admin/categories → camaleon_cms/admin/settings/post_types}/edit.html.erb +2 -2
  383. data/app/views/camaleon_cms/admin/settings/post_types/index.html.erb +54 -0
  384. data/app/views/camaleon_cms/admin/settings/shortcodes.html.erb +37 -0
  385. data/app/views/camaleon_cms/admin/settings/site.html.erb +112 -0
  386. data/app/views/{admin → camaleon_cms/admin}/settings/sites/form.html.erb +9 -9
  387. data/app/views/camaleon_cms/admin/settings/sites/index.html.erb +58 -0
  388. data/app/views/camaleon_cms/admin/user_roles/form.html.erb +160 -0
  389. data/app/views/camaleon_cms/admin/user_roles/index.html.erb +51 -0
  390. data/app/views/camaleon_cms/admin/users/form.html.erb +233 -0
  391. data/app/views/camaleon_cms/admin/users/index.html.erb +55 -0
  392. data/app/views/camaleon_cms/admin/users/profile.html.erb +1 -0
  393. data/app/views/{admin → camaleon_cms/admin}/users/profile/_activity.html.erb +0 -0
  394. data/app/views/{admin → camaleon_cms/admin}/users/profile/_settings.html.erb +0 -0
  395. data/app/views/camaleon_cms/default_theme/admin/settings.html.erb +1 -0
  396. data/app/views/{default_theme → camaleon_cms/default_theme}/category.html.erb +0 -0
  397. data/app/views/{default_theme → camaleon_cms/default_theme}/category.rss.builder +0 -0
  398. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/audio.html.erb +0 -0
  399. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/checkbox.html.erb +0 -0
  400. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/checkboxes.html.erb +0 -0
  401. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/colorpicker.html.erb +0 -0
  402. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/date.html.erb +0 -0
  403. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/editor.html.erb +0 -0
  404. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/email.html.erb +0 -0
  405. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/field_attrs.html.erb +0 -0
  406. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/file.html.erb +0 -0
  407. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/image.html.erb +0 -0
  408. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/numeric.html.erb +0 -0
  409. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/phone.html.erb +0 -0
  410. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/posts.html.erb +0 -0
  411. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/radio.html.erb +0 -0
  412. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/select.html.erb +0 -0
  413. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/select_eval.html.erb +0 -0
  414. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/text_area.html.erb +0 -0
  415. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/text_box.html.erb +0 -0
  416. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/url.html.erb +0 -0
  417. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/users.html.erb +0 -0
  418. data/app/views/{default_theme → camaleon_cms/default_theme}/custom_fields/video.html.erb +0 -0
  419. data/app/views/{default_theme → camaleon_cms/default_theme}/index.html.erb +0 -0
  420. data/app/views/{default_theme → camaleon_cms/default_theme}/layouts/_footer.html.erb +0 -1
  421. data/app/views/{default_theme → camaleon_cms/default_theme}/layouts/_header.html.erb +7 -7
  422. data/app/views/{default_theme → camaleon_cms/default_theme}/layouts/index.html.erb +0 -0
  423. data/app/views/{default_theme → camaleon_cms/default_theme}/partials/_breadcrumb.html.erb +0 -0
  424. data/app/views/{default_theme → camaleon_cms/default_theme}/partials/_categories_list.html.erb +0 -0
  425. data/app/views/camaleon_cms/default_theme/partials/_comments.html.erb +33 -0
  426. data/app/views/{default_theme → camaleon_cms/default_theme}/partials/_comments_list.html.erb +0 -0
  427. data/app/views/{default_theme → camaleon_cms/default_theme}/partials/_flash_messages.html.erb +0 -0
  428. data/app/views/{default_theme → camaleon_cms/default_theme}/partials/_forms.html.erb +2 -2
  429. data/app/views/{default_theme → camaleon_cms/default_theme}/partials/_post_list_item.html.erb +0 -0
  430. data/app/views/{default_theme → camaleon_cms/default_theme}/partials/_render_custom_field.html.erb +0 -0
  431. data/app/views/{default_theme → camaleon_cms/default_theme}/partials/_search_form.html.erb +2 -4
  432. data/app/views/{default_theme → camaleon_cms/default_theme}/partials/_sidebar.html.erb +0 -0
  433. data/app/views/{default_theme → camaleon_cms/default_theme}/post_tag.html.erb +0 -0
  434. data/app/views/{default_theme → camaleon_cms/default_theme}/post_tag.rss.builder +0 -0
  435. data/app/views/{default_theme → camaleon_cms/default_theme}/post_type.html.erb +0 -0
  436. data/app/views/{default_theme → camaleon_cms/default_theme}/post_type.rss.builder +0 -0
  437. data/app/views/{default_theme → camaleon_cms/default_theme}/profile.html.erb +0 -0
  438. data/app/views/camaleon_cms/default_theme/robots.text.erb +1 -0
  439. data/app/views/{default_theme → camaleon_cms/default_theme}/rss.rss.builder +0 -0
  440. data/app/views/{default_theme → camaleon_cms/default_theme}/search.html.erb +0 -0
  441. data/app/views/{default_theme → camaleon_cms/default_theme}/single.html.erb +0 -0
  442. data/app/views/{default_theme → camaleon_cms/default_theme}/single.rss.builder +0 -0
  443. data/app/views/{default_theme → camaleon_cms/default_theme}/sitemap.html.erb +0 -0
  444. data/app/views/{default_theme → camaleon_cms/default_theme}/sitemap.xml.builder +0 -0
  445. data/app/views/{html_mailer → camaleon_cms/html_mailer}/mailer.html.erb +0 -0
  446. data/app/views/{shortcode_templates → camaleon_cms/shortcode_templates}/widget.html.erb +1 -1
  447. data/app/views/layouts/camaleon_cms/admin.html.erb +49 -0
  448. data/app/views/layouts/camaleon_cms/admin/_ajax.html.erb +6 -0
  449. data/app/views/layouts/{admin → camaleon_cms/admin}/_flash_messages.html.erb +9 -0
  450. data/app/views/layouts/{admin → camaleon_cms/admin}/_footer.html.erb +0 -0
  451. data/app/views/layouts/{admin → camaleon_cms/admin}/_form_error.html.erb +1 -1
  452. data/app/views/layouts/{admin → camaleon_cms/admin}/_header.html.erb +11 -11
  453. data/app/views/layouts/camaleon_cms/admin/_sidebar.html.erb +19 -0
  454. data/app/views/layouts/{admin → camaleon_cms/admin}/installer.html.erb +5 -5
  455. data/app/views/layouts/{application.html.erb → camaleon_cms/application.html.erb} +0 -0
  456. data/app/views/layouts/{login.html.erb → camaleon_cms/login.html.erb} +5 -4
  457. data/app/views/layouts/{mailer.html.erb → camaleon_cms/mailer.html.erb} +0 -0
  458. data/config/initializers/action_view.rb +31 -0
  459. data/config/initializers/active_record_extension.rb +52 -2
  460. data/config/initializers/assets.rb +0 -18
  461. data/config/initializers/custom_initializers.rb +7 -0
  462. data/config/locales/camaleon_cms/admin/en.yml +648 -0
  463. data/config/locales/camaleon_cms/admin/es.yml +597 -0
  464. data/config/locales/camaleon_cms/admin/it.yml +607 -0
  465. data/config/locales/camaleon_cms/admin/js.yml +127 -0
  466. data/config/locales/camaleon_cms/admin/pt_br.yml +610 -0
  467. data/config/locales/camaleon_cms/common.yml +193 -0
  468. data/config/locales/{languages.yml → camaleon_cms/languages.yml} +0 -0
  469. data/config/locales/{routes.yml → camaleon_cms/routes.yml} +8 -0
  470. data/config/locales/{pt.yml → pt-BR.yml} +1 -1
  471. data/config/routes.rb +8 -24
  472. data/config/routes/admin.rb +114 -98
  473. data/config/routes/frontend.rb +39 -27
  474. data/config/system.json +5 -3
  475. data/db/migrate/20150611161134_post_table_into_utf8.rb +15 -15
  476. data/db/migrate/20150926095310_rename_column_posts.rb +4 -4
  477. data/lib/camaleon_cms/engine.rb +6 -9
  478. data/lib/camaleon_cms/version.rb +1 -1
  479. data/lib/ext/string.rb +10 -45
  480. data/lib/ext/translator.rb +3 -2
  481. data/lib/generators/camaleon_cms/gem_plugin_generator.rb +90 -83
  482. data/lib/generators/camaleon_cms/gem_plugin_template/app/controllers/plugins/my_plugin/admin_controller.rb +1 -1
  483. data/lib/generators/camaleon_cms/gem_plugin_template/app/controllers/plugins/my_plugin/front_controller.rb +1 -1
  484. data/lib/generators/camaleon_cms/gem_plugin_template/app/views/plugins/my_plugin/admin/index.html.erb +9 -2
  485. data/lib/generators/camaleon_cms/gem_theme_generator.rb +97 -0
  486. data/lib/generators/{ctheme_template/app/apps/themes/my_theme/assets/images → camaleon_cms/gem_theme_template/app/assets/images/themes/my_plugin}/image.png +0 -0
  487. data/lib/generators/{ctheme_template/app/apps/themes/my_theme/assets/js → camaleon_cms/gem_theme_template/app/assets/javascripts/themes/my_plugin}/main.js +1 -1
  488. data/lib/generators/{ctheme_template/app/apps/themes/my_theme/assets/css → camaleon_cms/gem_theme_template/app/assets/stylesheets/themes/my_plugin}/main.css +1 -1
  489. data/lib/generators/camaleon_cms/gem_theme_template/app/helpers/themes/my_plugin/main_helper.rb +26 -0
  490. data/lib/generators/{ctheme_template/app/apps/themes/my_theme/views → camaleon_cms/gem_theme_template/app/views/themes/my_plugin}/admin/settings.html.erb +1 -1
  491. data/lib/generators/{ctheme_template/app/apps/themes/my_theme/views → camaleon_cms/gem_theme_template/app/views/themes/my_plugin}/index.html.erb +0 -0
  492. data/lib/generators/camaleon_cms/gem_theme_template/app/views/themes/my_plugin/layouts/index.html.erb +71 -0
  493. data/lib/generators/{ctheme_template/app/apps/themes/my_theme/views → camaleon_cms/gem_theme_template/app/views/themes/my_plugin}/partials/readme.txt +0 -0
  494. data/lib/generators/camaleon_cms/gem_theme_template/config/camaleon_theme.json +14 -0
  495. data/lib/generators/camaleon_cms/install_template/system.json +4 -2
  496. data/lib/generators/camaleon_cms/theme_generator.rb +71 -0
  497. data/lib/generators/camaleon_cms/theme_template/app/apps/themes/my_theme/assets/css/main.css +12 -0
  498. data/lib/generators/camaleon_cms/theme_template/app/apps/themes/my_theme/assets/images/image.png +0 -0
  499. data/lib/generators/camaleon_cms/theme_template/app/apps/themes/my_theme/assets/js/main.js +14 -0
  500. data/lib/generators/{ctheme_template → camaleon_cms/theme_template}/app/apps/themes/my_theme/config/config.json +0 -0
  501. data/lib/generators/{ctheme_template → camaleon_cms/theme_template}/app/apps/themes/my_theme/main_helper.rb +0 -0
  502. data/lib/generators/camaleon_cms/theme_template/app/apps/themes/my_theme/views/admin/settings.html.erb +4 -0
  503. data/lib/generators/camaleon_cms/theme_template/app/apps/themes/my_theme/views/index.html.erb +25 -0
  504. data/lib/generators/{ctheme_template → camaleon_cms/theme_template}/app/apps/themes/my_theme/views/layouts/index.html.erb +8 -8
  505. data/lib/generators/camaleon_cms/theme_template/app/apps/themes/my_theme/views/partials/readme.txt +1 -0
  506. data/lib/plugin_routes.rb +59 -28
  507. data/lib/tasks/camaleon_cms/rspec_test.rake +16 -0
  508. metadata +458 -548
  509. data/app/apps/plugins/contact_form/views/admin_forms/manual.html.erb +0 -59
  510. data/app/apps/themes/new/assets/js/plugins/modal_elfinder.js +0 -29
  511. data/app/assets/javascripts/admin/admin-basic-manifest.js +0 -3
  512. data/app/assets/javascripts/admin/custom_fields.js +0 -167
  513. data/app/assets/javascripts/admin/elfinder-manifest.js +0 -7
  514. data/app/assets/javascripts/admin/elfinder/elfinder.full.js +0 -12646
  515. data/app/assets/javascripts/admin/elfinder/i18n/elfinder.es.js +0 -294
  516. data/app/assets/javascripts/admin/elfinder/i18n/elfinder.fr.js +0 -298
  517. data/app/assets/javascripts/admin/elfinder/i18n/elfinder.it.js +0 -366
  518. data/app/assets/javascripts/admin/elfinder/proxy/elFinderSupportVer1.js +0 -338
  519. data/app/assets/javascripts/admin/elfinder/upload_elfinder.js +0 -237
  520. data/app/assets/javascripts/admin/jquery.slugify.js +0 -65
  521. data/app/assets/javascripts/admin/libraries.js +0 -266
  522. data/app/assets/javascripts/admin/post.js +0 -273
  523. data/app/assets/javascripts/admin/widgets.js +0 -54
  524. data/app/assets/javascripts/elfinder_front.js +0 -85
  525. data/app/assets/stylesheets/admin/custom_admin.css.scss +0 -193
  526. data/app/assets/stylesheets/admin/elfinder-manifest.css +0 -6
  527. data/app/assets/stylesheets/admin/elfinder/elfinder-theme.scss +0 -191
  528. data/app/assets/stylesheets/admin/elfinder/elfinder.css +0 -1922
  529. data/app/assets/stylesheets/admin/elfinder/images/arrows-active.png +0 -0
  530. data/app/assets/stylesheets/admin/elfinder/images/arrows-normal.png +0 -0
  531. data/app/assets/stylesheets/admin/elfinder/images/crop.gif +0 -0
  532. data/app/assets/stylesheets/admin/elfinder/images/dialogs.png +0 -0
  533. data/app/assets/stylesheets/admin/elfinder/images/icons-big.png +0 -0
  534. data/app/assets/stylesheets/admin/elfinder/images/icons-small.png +0 -0
  535. data/app/assets/stylesheets/admin/elfinder/images/logo.png +0 -0
  536. data/app/assets/stylesheets/admin/elfinder/images/progress.gif +0 -0
  537. data/app/assets/stylesheets/admin/elfinder/images/quicklook-bg.png +0 -0
  538. data/app/assets/stylesheets/admin/elfinder/images/quicklook-icons.png +0 -0
  539. data/app/assets/stylesheets/admin/elfinder/images/resize.png +0 -0
  540. data/app/assets/stylesheets/admin/elfinder/images/spinner-mini.gif +0 -0
  541. data/app/assets/stylesheets/admin/elfinder/images/toolbar.png +0 -0
  542. data/app/assets/stylesheets/admin/elfinder/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  543. data/app/assets/stylesheets/admin/elfinder/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  544. data/app/assets/stylesheets/admin/elfinder/images/ui-icons_222222_256x240.png +0 -0
  545. data/app/assets/stylesheets/bootstrap.min.css.scss +0 -5
  546. data/app/controllers/admin/appearances_controller.rb +0 -13
  547. data/app/controllers/admin/comments_controller.rb +0 -113
  548. data/app/controllers/admin/media_controller.rb +0 -53
  549. data/app/controllers/api/api_controller.rb +0 -31
  550. data/app/controllers/api/v1/category_controller.rb +0 -15
  551. data/app/controllers/api/v1/contact_form_controller.rb +0 -55
  552. data/app/controllers/api/v1/page_controller.rb +0 -8
  553. data/app/controllers/api/v1/post_controller.rb +0 -8
  554. data/app/controllers/apps/plugins_front_controller.rb +0 -20
  555. data/app/controllers/camaleon_controller.rb +0 -116
  556. data/app/helpers/html_helper.rb +0 -118
  557. data/app/helpers/uploader_helper.rb +0 -214
  558. data/app/models/concerns/metas.rb +0 -136
  559. data/app/models/grid_template.rb +0 -15
  560. data/app/models/term_taxonomy.rb +0 -157
  561. data/app/models/user_role.rb +0 -139
  562. data/app/serializers/api/base_serializer.rb +0 -9
  563. data/app/serializers/api/v1/category_serializer.rb +0 -8
  564. data/app/views/admin/appearances/nav_menus/_custom_fields.html.erb +0 -6
  565. data/app/views/admin/appearances/nav_menus/_menu_form.html.erb +0 -32
  566. data/app/views/admin/appearances/widgets/main/form.html.erb +0 -27
  567. data/app/views/admin/appearances/widgets/main/index.html.erb +0 -69
  568. data/app/views/admin/categories/_form.html.erb +0 -42
  569. data/app/views/admin/comments/form.html.erb +0 -52
  570. data/app/views/admin/comments/index.html.erb +0 -41
  571. data/app/views/admin/comments/reply.html.erb +0 -196
  572. data/app/views/admin/installers/welcome.html.erb +0 -8
  573. data/app/views/admin/media/iframe.html.erb +0 -33
  574. data/app/views/admin/media/index.html.erb +0 -19
  575. data/app/views/admin/post_tags/index.html.erb +0 -74
  576. data/app/views/admin/posts/_filter_posts.html.erb +0 -6
  577. data/app/views/admin/posts/form.html.erb +0 -103
  578. data/app/views/admin/sessions/forgot.html.erb +0 -45
  579. data/app/views/admin/sessions/login.html.erb +0 -49
  580. data/app/views/admin/sessions/register.html.erb +0 -62
  581. data/app/views/admin/settings/custom_fields/fields/field_attrs.html.erb +0 -8
  582. data/app/views/admin/settings/custom_fields/form.html.erb +0 -248
  583. data/app/views/admin/settings/post_types/_form.html.erb +0 -93
  584. data/app/views/admin/settings/post_types/index.html.erb +0 -72
  585. data/app/views/admin/settings/site.html.erb +0 -188
  586. data/app/views/admin/settings/sites/index.html.erb +0 -55
  587. data/app/views/admin/taxonomy/_form.html.erb +0 -62
  588. data/app/views/admin/taxonomy/edit.html.erb +0 -18
  589. data/app/views/admin/taxonomy/index.html.erb +0 -79
  590. data/app/views/admin/user_roles/form.html.erb +0 -167
  591. data/app/views/admin/user_roles/index.html.erb +0 -48
  592. data/app/views/admin/users/form.html.erb +0 -306
  593. data/app/views/admin/users/index.html.erb +0 -53
  594. data/app/views/admin/users/profile.html.erb +0 -118
  595. data/app/views/admin/users/profile_edit.html.erb +0 -312
  596. data/app/views/default_theme/admin/settings.html.erb +0 -1
  597. data/app/views/default_theme/partials/_comments.html.erb +0 -33
  598. data/app/views/default_theme/robots.text.erb +0 -1
  599. data/app/views/layouts/admin.html.erb +0 -56
  600. data/app/views/layouts/admin/_ajax.html.erb +0 -2
  601. data/app/views/layouts/admin/_sidebar.html.erb +0 -22
  602. data/app/views/shortcode_templates/form.html.erb +0 -1
  603. data/config/initializers/cache_helper.rb +0 -17
  604. data/config/initializers/doorkeeper.rb +0 -128
  605. data/config/initializers/elfinder.rb +0 -63
  606. data/config/initializers/page_caching.rb +0 -42
  607. data/config/initializers/rufus_cron.rb +0 -33
  608. data/config/initializers/swagger.rb +0 -18
  609. data/config/locales/admin/en.yml +0 -618
  610. data/config/locales/admin/es.yml +0 -584
  611. data/config/locales/admin/it.yml +0 -605
  612. data/config/locales/admin/js.yml +0 -118
  613. data/config/locales/common.yml +0 -189
  614. data/config/locales/doorkeeper.en.yml +0 -123
  615. data/db/migrate/20150930115030_doorkeeper_configuration.rb +0 -45
  616. data/lib/generators/camaleon_cms/install_template/apps/plugins/readme.txt +0 -1
  617. data/lib/generators/camaleon_cms/install_template/apps/themes/readme.txt +0 -1
  618. data/lib/generators/cplugin_generator.rb +0 -82
  619. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/admin_controller.rb +0 -8
  620. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/assets/css/readme.txt +0 -1
  621. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/assets/images/readme.txt +0 -1
  622. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/assets/js/readme.txt +0 -1
  623. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/config.json +0 -21
  624. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/locales/readme.txt +0 -1
  625. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/routes_admin.txt +0 -1
  626. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/routes_front.txt +0 -1
  627. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/front_controller.rb +0 -8
  628. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/main_helper.rb +0 -22
  629. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/models/my_plugin.rb +0 -7
  630. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/views/admin/index.html.erb +0 -2
  631. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/views/front/index.html.erb +0 -2
  632. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/views/layouts/readme.txt +0 -2
  633. data/lib/generators/ctheme_generator.rb +0 -65
  634. data/lib/tasks/camaleon_cms_tasks.rake +0 -23
  635. data/lib/tasks/precompile_overrides.rake +0 -6
@@ -6,23 +6,24 @@
6
6
  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7
7
  See the GNU Affero General Public License (GPLv3) for more details.
8
8
  =end
9
- class AdminController < CamaleonController
9
+ class CamaleonCms::AdminController < CamaleonCms::CamaleonController
10
10
  rescue_from CanCan::AccessDenied do |exception|
11
11
  flash[:error] = "Error: #{exception.message}"
12
- redirect_to admin_dashboard_path
12
+ redirect_to cama_admin_dashboard_path
13
13
  end
14
- include Admin::ApplicationHelper
15
-
16
- layout "admin"
17
- before_action :authenticate
14
+ include CamaleonCms::Admin::ApplicationHelper
15
+ # layout 'camaleon_cms/admin'
16
+ before_action :cama_authenticate
18
17
  before_action :admin_init_actions
19
18
  before_action :admin_logged_actions
20
19
  before_action :admin_before_hooks
21
20
  after_action :admin_after_hooks
22
- # layout Proc.new { |controller| request.headers["X-XHR-Referer"] ? "admin/_ajax" : 'admin' }
21
+ layout Proc.new { |controller| params[:cama_ajax_request].present? ? "camaleon_cms/admin/_ajax" : 'camaleon_cms/admin' }
22
+ add_breadcrumb I18n.t("camaleon_cms.admin.sidebar.dashboard"), :cama_admin_path
23
23
 
24
24
  # render admin dashboard
25
25
  def index
26
+ render "dashboard"
26
27
  end
27
28
 
28
29
  # ajax requests for admin panel
@@ -39,7 +40,25 @@ class AdminController < CamaleonController
39
40
 
40
41
  # render admin dashboard
41
42
  def dashboard
42
- render "admin/dashboard/index"
43
+ index
44
+ end
45
+
46
+ # render search results
47
+ # receive params[:q]
48
+ # receive params[:kind]: define de type of the results type (content|category|tag) => default content
49
+ # if this is receive a param[:ajax], then will render only results view
50
+ def search
51
+ add_breadcrumb I18n.t("camaleon_cms.admin.button.search")
52
+ params[:kind] = "content" unless params[:kind].present?
53
+ case params[:kind]
54
+ when "category"
55
+ @items = current_site.full_categories.where("#{CamaleonCms::Category.table_name}.name LIKE ?", "%#{params[:q]}%")
56
+ when "tag"
57
+ @items = current_site.post_tags.where("#{CamaleonCms::PostTag.table_name}.name LIKE ?", "%#{params[:q]}%")
58
+ else
59
+ @items = current_site.posts.where("#{CamaleonCms::Post.table_name}.title LIKE ?", "%#{params[:q]}%")
60
+ end
61
+ @items = @items.paginate(:page => params[:page], :per_page => current_site.admin_per_page)
43
62
  end
44
63
 
45
64
  private
@@ -63,6 +82,6 @@ class AdminController < CamaleonController
63
82
  end
64
83
 
65
84
  def admin_logged_actions
66
- admin_menus_add_commons unless request.xhr?
85
+ admin_menus_add_commons if !request.xhr? || !params[:cama_ajax_request].present? # initialize admin sidebar menus
67
86
  end
68
87
  end
@@ -6,15 +6,19 @@
6
6
  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7
7
  See the GNU Affero General Public License (GPLv3) for more details.
8
8
  =end
9
- class Apps::PluginsAdminController < AdminController
9
+ class CamaleonCms::Apps::PluginsAdminController < CamaleonCms::AdminController
10
10
  before_action :init_plugin
11
11
 
12
12
  private
13
13
 
14
14
  def init_plugin
15
15
  plugin_name = params[:controller].split("/")[1]
16
- @plugin = current_site.plugins.where(slug: plugin_name).first
17
- return render_error(404) unless @plugin.active?
16
+ @plugin = current_site.plugins.where(slug: plugin_name).first_or_create
17
+ unless @plugin.active?
18
+ flash[:error] = t("camaleon_cms.plugin_not_installed", default: "This plugin is not installed, please contact to the administrator.")
19
+ redirect_to cama_root_url
20
+ return
21
+ end
18
22
  lookup_context.prefixes.prepend(params[:controller].sub("plugins/#{plugin_name}", "#{plugin_name}/views")) if !@plugin.settings["gem_mode"].present?
19
23
  end
20
24
  end
@@ -0,0 +1,38 @@
1
+ =begin
2
+ Camaleon CMS is a content management system
3
+ Copyright (C) 2015 by Owen Peredo Diaz
4
+ Email: owenperedo@gmail.com
5
+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
6
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7
+ See the GNU Affero General Public License (GPLv3) for more details.
8
+ =end
9
+ class CamaleonCms::Apps::PluginsFrontController < CamaleonCms::FrontendController
10
+ before_action :init_plugin
11
+ layout Proc.new { |controller|
12
+ if current_theme.settings["gem_mode"]
13
+ "themes/#{current_theme.slug}/layouts/index"
14
+ else
15
+ "themes/#{current_theme.slug}/views/layouts/index"
16
+ end
17
+ }
18
+ private
19
+
20
+ def init_plugin
21
+ plugin_name = params[:controller].split("/")[1]
22
+ @plugin = current_site.plugins.where(slug: plugin_name).first_or_create
23
+ unless @plugin.active?
24
+ flash[:error] = t("camaleon_cms.plugin_not_installed", default: "This plugin is not installed, please contact to the administrator.")
25
+ redirect_to cama_root_url
26
+ return
27
+ end
28
+ lookup_context.prefixes.prepend(params[:controller].sub("plugins/#{plugin_name}", "#{plugin_name}/views")) if !@plugin.settings["gem_mode"].present?
29
+
30
+ views_dir = "app/apps/"
31
+ self.prepend_view_path(File.join($camaleon_engine_dir, views_dir).to_s)
32
+ self.prepend_view_path(Rails.root.join(views_dir).to_s)
33
+ # lookup_context.prefixes.prepend("camaleon_cms/default_theme")
34
+ # lookup_context.prefixes.prepend("themes/#{current_theme.slug}") if current_theme.settings["gem_mode"]
35
+ # lookup_context.prefixes.prepend("themes/#{current_theme.slug}/views") unless current_theme.settings["gem_mode"]
36
+ # lookup_context.prefixes.prepend("themes/#{current_site.id}/views")
37
+ end
38
+ end
@@ -6,7 +6,7 @@
6
6
  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7
7
  See the GNU Affero General Public License (GPLv3) for more details.
8
8
  =end
9
- class Apps::ThemesAdminController < AdminController
9
+ class CamaleonCms::Apps::ThemesAdminController < CamaleonCms::AdminController
10
10
  before_action :init_theme
11
11
 
12
12
  private
@@ -6,7 +6,7 @@
6
6
  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7
7
  See the GNU Affero General Public License (GPLv3) for more details.
8
8
  =end
9
- class Apps::ThemesFrontController < FrontendController
9
+ class CamaleonCms::Apps::ThemesFrontController < CamaleonCms::FrontendController
10
10
  before_action :init_theme
11
11
 
12
12
  private
@@ -0,0 +1,99 @@
1
+ =begin
2
+ Camaleon CMS is a content management system
3
+ Copyright (C) 2015 by Owen Peredo Diaz
4
+ Email: owenperedo@gmail.com
5
+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
6
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7
+ See the GNU Affero General Public License (GPLv3) for more details.
8
+ =end
9
+ class CamaleonCms::CamaleonController < ApplicationController
10
+ add_flash_types :warning
11
+ add_flash_types :error
12
+ add_flash_types :notice
13
+
14
+ include CamaleonCms::CamaleonHelper
15
+ include CamaleonCms::SessionHelper
16
+ include CamaleonCms::SiteHelper
17
+ include CamaleonCms::HtmlHelper
18
+ include CamaleonCms::UserRolesHelper
19
+ include CamaleonCms::ShortCodeHelper
20
+ include CamaleonCms::PluginsHelper
21
+ include CamaleonCms::ThemeHelper
22
+ include CamaleonCms::HooksHelper
23
+ include CamaleonCms::ContentHelper
24
+ include CamaleonCms::CaptchaHelper
25
+ include CamaleonCms::UploaderHelper
26
+ include Mobu::DetectMobile
27
+
28
+ prepend_before_action :cama_load_custom_models
29
+ before_action :cama_site_check_existence, except: [:render_error, :captcha]
30
+ before_action :cama_before_actions, except: [:render_error, :captcha]
31
+ after_action :cama_after_actions, except: [:render_error, :captcha]
32
+ # Prevent CSRF attacks by raising an exception.
33
+ # For APIs, you may want to use :null_session instead.
34
+ protect_from_forgery with: :exception
35
+ layout Proc.new { |controller| controller.request.xhr? ? false : 'default' }
36
+
37
+ # show page error
38
+ def render_error(status = 404, exception = nil, message = "")
39
+ Rails.logger.info "========#{exception.message if exception.present?}====#{params[:error_msg]}========#{caller.inspect}"
40
+ @message = "#{message} #{params[:error_msg] || (exception.present? ? "#{exception.message}<br><br>#{caller.inspect}" : "")}"
41
+ @message = "" if Rails.env == "production"
42
+ render "camaleon_cms/#{status}", :status => status
43
+ end
44
+
45
+ # generate captcha image
46
+ def captcha
47
+ image = cama_captcha_build(params[:len])
48
+ send_data image.to_blob, :type => image.mime_type, :disposition => 'inline'
49
+ end
50
+
51
+ private
52
+ def cama_before_actions
53
+ # including all helpers (system, themes, plugins) for this site
54
+ PluginRoutes.enabled_apps(current_site, current_theme.slug).each{|plugin| plugin_load_helpers(plugin) }
55
+
56
+ # initializing short codes
57
+ shortcodes_init()
58
+
59
+ # initializing before and after contents
60
+ cama_html_helpers_init
61
+
62
+ # initializing before and after contents
63
+ cama_content_init
64
+
65
+ @_hooks_skip = []
66
+ # trigger all hooks before_load_app
67
+ hooks_run("app_before_load")
68
+
69
+ request.env.except!('HTTP_X_FORWARDED_HOST') if request.env['HTTP_X_FORWARDED_HOST'] # just drop the variable
70
+
71
+ # past plugins version support
72
+ self.prepend_view_path(File.join($camaleon_engine_dir, "app", "apps", "plugins"))
73
+ self.prepend_view_path(Rails.root.join("app", "apps", 'plugins'))
74
+ CamaleonCms::PostDefault.current_user = cama_current_user
75
+ CamaleonCms::PostDefault.current_site = current_site
76
+ end
77
+
78
+ # initialize ability for current user
79
+ def current_ability
80
+ @current_ability ||= CamaleonCms::Ability.new(cama_current_user, current_site)
81
+ end
82
+
83
+ def cama_after_actions
84
+ # trigger all actions app after load
85
+ hooks_run("app_after_load")
86
+ end
87
+
88
+ # redirect to sessions login form when the session was expired.
89
+ def auth_session_error
90
+ redirect_to cama_root_path
91
+ end
92
+
93
+ # include CamaleonCms::all custom models created by installed plugins or themes for current site
94
+ def cama_load_custom_models
95
+ if current_site.present?
96
+ site_load_custom_models(current_site)
97
+ end
98
+ end
99
+ end
@@ -6,19 +6,22 @@
6
6
  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7
7
  See the GNU Affero General Public License (GPLv3) for more details.
8
8
  =end
9
- class FrontendController < CamaleonController
10
- include FrontendConcern
9
+ class CamaleonCms::FrontendController < CamaleonCms::CamaleonController
10
+ include CamaleonCms::FrontendConcern
11
11
  prepend_before_action :init_frontent
12
- prepend_before_action :site_check_existence
13
- include Frontend::ApplicationHelper
14
- layout "layouts/index"
12
+ prepend_before_action :cama_site_check_existence
13
+ include CamaleonCms::Frontend::ApplicationHelper
14
+
15
+ layout "index"
16
+
15
17
  before_action :before_hooks
16
18
  after_action :after_hooks
17
19
  # rescue_from ActiveRecord::RecordNotFound, with: :page_not_found
18
20
 
19
21
  # home page for frontend
20
22
  def index
21
- init_seo(current_site)
23
+ @cama_visited_home = true
24
+ cama_init_seo(current_site)
22
25
  if @_site_options[:home_page].present?
23
26
  render_post(@_site_options[:home_page].to_i)
24
27
  else
@@ -36,15 +39,13 @@ class FrontendController < CamaleonController
36
39
  rescue
37
40
  return page_not_found
38
41
  end
39
- init_seo(@category)
42
+ @cama_visited_category = @category
43
+ cama_init_seo(@category)
40
44
  @children = @category.children.no_empty.decorate
41
45
  @posts = @category.the_posts.paginate(:page => params[:page], :per_page => current_site.front_per_page).eager_load(:metas)
42
- if lookup_context.template_exists?(@category.the_slug, "categories")
43
- r_file = "categories/#{@category.the_slug}"
44
- else
45
- r_file = "category"
46
- end
47
- r = {category: @category, layout: (self.send :_layout), render: r_file}; hooks_run("on_render_category", r)
46
+ r_file = lookup_context.template_exists?(@category.the_slug, "categories") ? "categories/#{@category.the_slug}" : "category"
47
+ layout_ = lookup_context.template_exists?("layouts/categories/#{@category.the_slug}") ? "categories/#{@category.the_slug}" : (self.send :_layout)
48
+ r = {category: @category, layout: layout_, render: r_file}; hooks_run("on_render_category", r)
48
49
  render r[:render], layout: r[:layout]
49
50
  end
50
51
 
@@ -55,16 +56,14 @@ class FrontendController < CamaleonController
55
56
  rescue
56
57
  return page_not_found
57
58
  end
58
- init_seo(@post_type)
59
+ @cama_visited_post_type = @post_type
60
+ cama_init_seo(@post_type)
59
61
  @posts = @post_type.the_posts.paginate(:page => params[:page], :per_page => current_site.front_per_page).eager_load(:metas)
60
62
  @categories = @post_type.categories.no_empty.eager_load(:metas).decorate
61
63
  @post_tags = @post_type.post_tags.eager_load(:metas)
62
- if lookup_context.template_exists?(@post_type.the_slug, "post_types")
63
- r_file = "post_types/#{@post_type.the_slug}"
64
- else
65
- r_file = "post_type"
66
- end
67
- r = {post_type: @post_type, layout: (self.send :_layout), render: r_file}; hooks_run("on_render_post_type", r)
64
+ r_file = lookup_context.template_exists?(@post_type.the_slug, "post_types") ? "post_types/#{@post_type.the_slug}" : "post_type"
65
+ layout_ = lookup_context.template_exists?("layouts/post_types/#{@post_type.the_slug}") ? "post_types/#{@post_type.the_slug}" : (self.send :_layout)
66
+ r = {post_type: @post_type, layout: layout_, render: r_file}; hooks_run("on_render_post_type", r)
68
67
  render r[:render], layout: r[:layout]
69
68
  end
70
69
 
@@ -76,31 +75,31 @@ class FrontendController < CamaleonController
76
75
  rescue
77
76
  return page_not_found
78
77
  end
79
- init_seo(@post_tag)
78
+ @cama_visited_tag = @post_tag
79
+ cama_init_seo(@post_tag)
80
80
  @posts = @post_tag.the_posts.paginate(:page => params[:page], :per_page => current_site.front_per_page).eager_load(:metas)
81
- if lookup_context.template_exists?(@post_tag.the_slug, "post_tags")
82
- r_file = "post_tags/#{@post_tag.the_slug}"
83
- else
84
- r_file = "post_tag"
85
- end
86
- r = {post_tag: @post_tag, layout: (self.send :_layout), render: r_file}; hooks_run("on_render_post_tag", r)
81
+ r_file = lookup_context.template_exists?(@post_tag.the_slug, "post_tags") ? "post_tags/#{@post_tag.the_slug}" : "post_tag"
82
+ layout_ = lookup_context.template_exists?("layouts/post_tags/#{@post_tag.the_slug}") ? "post_tags/#{@post_tag.the_slug}" : (self.send :_layout)
83
+ r = {post_tag: @post_tag, layout: layout_, render: r_file}; hooks_run("on_render_post_tag", r)
87
84
  render r[:render], layout: r[:layout]
88
85
  end
89
86
 
90
87
  # search contents
91
88
  def search
92
89
  breadcrumb_add(ct("search"))
93
- @posts = current_site.the_posts
94
- @posts = params[:q].present? ? @posts.where("title LIKE ? OR content_filtered LIKE ?", "%#{params[:q]}%", "%#{params[:q]}%") : @posts.where("1=0")
90
+ @cama_visited_search = params[:q]
91
+ layout_ = lookup_context.template_exists?("layouts/search") ? "search" : (self.send :_layout)
92
+ r = {layout: layout_, render: "search", posts: nil}; hooks_run("on_render_search", r)
93
+ @posts = r[:posts].present? ? r[:posts] : current_site.the_posts.where("title LIKE ? OR content_filtered LIKE ?", "%#{params[:q]}%", "%#{params[:q]}%")
95
94
  @posts_size = @posts.size
96
95
  @posts = @posts.paginate(:page => params[:page], :per_page => current_site.front_per_page)
97
- r = {layout: (self.send :_layout), render: "search"}; hooks_run("on_render_search", r)
98
96
  render r[:render], layout: r[:layout]
99
97
  end
100
98
 
101
99
  # ajax requests
102
100
  def ajax
103
101
  r = {render_file: nil, render_text: "", layout: (self.send :_layout) }
102
+ @cama_visited_ajax = true
104
103
  hooks_run("on_ajax", r)
105
104
  if r[:render_file]
106
105
  render r[:render_file], layout: r[:layout]
@@ -125,8 +124,10 @@ class FrontendController < CamaleonController
125
124
  rescue
126
125
  return page_not_found
127
126
  end
128
- init_seo(@user)
129
- r = {user: @user, layout: (self.send :_layout), render: "profile"}; hooks_run("on_render_profile", r)
127
+ @cama_visited_profile = true
128
+ cama_init_seo(@user)
129
+ layout_ = lookup_context.template_exists?("layouts/profile") ? "profile" : (self.send :_layout)
130
+ r = {user: @user, layout: layout_, render: "profile"}; hooks_run("on_render_profile", r)
130
131
  render r[:render], layout: r[:layout]
131
132
  end
132
133
 
@@ -157,17 +158,17 @@ class FrontendController < CamaleonController
157
158
  page_not_found()
158
159
  else
159
160
  @post = @post.decorate
160
- init_seo(@post)
161
+ @cama_visited_post = @post
162
+ cama_init_seo(@post)
161
163
  @post_type = @post.the_post_type
162
164
  @comments = @post.the_comments
163
165
  @categories = @post.the_categories
164
166
  @post.increment_visits!
165
167
  home_page = @_site_options[:home_page] rescue nil
166
- r_file = ""
167
- if lookup_context.template_exists?("page_#{@post.id}")
168
+ if @post.get_template(@post_type).present? && lookup_context.template_exists?(@post.get_template(@post_type))
169
+ r_file = @post.get_template(@post_type)
170
+ elsif lookup_context.template_exists?("page_#{@post.id}")
168
171
  r_file = "page_#{@post.id}"
169
- elsif @post.template.present? && lookup_context.template_exists?(@post.template)
170
- r_file = @post.template
171
172
  elsif home_page.present? && @post.id.to_s == home_page
172
173
  r_file = "index"
173
174
  elsif lookup_context.template_exists?("#{@post_type.slug}")
@@ -177,7 +178,7 @@ class FrontendController < CamaleonController
177
178
  end
178
179
 
179
180
  layout_ = self.send :_layout
180
- meta_layout = @post.get_meta("layout")
181
+ meta_layout = @post.get_layout(@post_type)
181
182
  layout_ = meta_layout if meta_layout.present? && lookup_context.template_exists?("layouts/#{meta_layout}")
182
183
  r = {post: @post, post_type: @post_type, layout: layout_, render: r_file}
183
184
  hooks_run("on_render_post", r) if from_url
@@ -203,35 +204,45 @@ class FrontendController < CamaleonController
203
204
  # if url hasn't a locale, then it will use default locale set on application.rb
204
205
  def init_frontent
205
206
  # preview theme initializing
206
- if signin? && params[:ccc_theme_preview].present? && request.referrer.include?("preview?ccc_theme_preview=") && can?(:manager, :themes)
207
+ if cama_sign_in? && params[:ccc_theme_preview].present? && can?(:manager, :themes)
207
208
  @_current_theme = (current_site.themes.where(slug: params[:ccc_theme_preview]).first_or_create!.decorate)
208
209
  end
209
210
 
210
211
  @_site_options = current_site.options
211
212
  I18n.locale = params[:locale] || current_site.get_languages.first
212
213
  return page_not_found unless current_site.get_languages.include?(I18n.locale.to_sym) # verify if this locale is available for this site
214
+
215
+ views_dir = "app/apps/"
216
+ self.prepend_view_path(File.join($camaleon_engine_dir, views_dir).to_s)
217
+ self.prepend_view_path(Rails.root.join(views_dir).to_s)
218
+
219
+ # define render paths
213
220
  lookup_context.prefixes.delete("frontend")
214
221
  lookup_context.prefixes.delete("application")
222
+ lookup_context.prefixes.delete("camaleon_cms/frontend")
223
+ lookup_context.prefixes.delete("camaleon_cms/camaleon")
215
224
 
216
- if params[:controller] == "frontend"
217
- lookup_context.prefixes.prepend("") unless lookup_context.prefixes.include?("")
218
- elsif params[:controller].start_with?("themes/")
219
- lookup_context.prefixes.delete(params[:controller])
220
- lookup_context.prefixes.prepend(params[:controller].sub("themes/#{current_theme.slug}/", ""))
225
+ if ['camaleon_cms/frontend', 'frontend'].include?(params[:controller]) # 'frontend' will be removed in new versions (move into camaleon_cms/frontend)
226
+ lookup_context.prefixes.prepend("camaleon_cms/default_theme")
227
+ lookup_context.prefixes.prepend("themes/#{current_theme.slug}") if current_theme.settings["gem_mode"]
228
+ lookup_context.prefixes.prepend("themes/#{current_theme.slug}/views") unless current_theme.settings["gem_mode"]
229
+ lookup_context.prefixes.prepend("themes/#{current_site.id}/views")
221
230
  end
222
231
  theme_init()
223
232
  end
224
233
 
234
+ # initialize hooks before to execute action
225
235
  def before_hooks
226
- @current_ability ||= Ability.new(current_user, current_site)
227
236
  hooks_run("front_before_load")
228
237
  end
229
238
 
239
+ # initialize hooks after executed action
230
240
  def after_hooks
231
241
  hooks_run("front_after_load")
232
242
  end
233
243
 
234
244
  # define default options for url helpers
245
+ # control for default locale
235
246
  def default_url_options(options = {})
236
247
  begin
237
248
  if current_site.get_languages.first.to_s == I18n.locale.to_s