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
@@ -7,12 +7,12 @@
7
7
  See the GNU Affero General Public License (GPLv3) for more details.
8
8
  =end
9
9
  #encoding: utf-8
10
- module Admin::PostTypeHelper
10
+ module CamaleonCms::Admin::PostTypeHelper
11
11
 
12
12
  #taxonomy -> (categories || post_tags)
13
13
  def post_type_html_inputs(post_type, taxonomy="categories", name ="categories", type="checkbox", values=[], class_cat="categorychecklist" , required = false)
14
14
  categories = post_type.send(taxonomy)
15
- categories = categories.eager_load(:children) if taxonomy == "categories" || taxonomy == "children"
15
+ categories = categories.eager_load(:children, :post_type_parent, :parent) if taxonomy == "categories" || taxonomy == "children"
16
16
  post_type_taxonomy_html_(categories,taxonomy, name, type, values, class_cat, required)
17
17
  end
18
18
 
@@ -25,7 +25,7 @@ module Admin::PostTypeHelper
25
25
  def post_type_list_taxonomy(taxonomies, color="primary")
26
26
  html = ""
27
27
  taxonomies.decorate.each do |f|
28
- html += "<a href='#{admin_post_type_taxonomy_posts_path(@post_type.id, f.taxonomy, f.id)}'><span class='label label-#{color} label-form'>#{f.the_title}</span></a> "
28
+ html += "<a class='cama_ajax_request' href='#{cama_admin_post_type_taxonomy_posts_path(@post_type.id, f.taxonomy, f.id)}'><span class='label label-#{color} label-form'>#{f.the_title}</span></a> "
29
29
  end
30
30
  return html
31
31
  end
@@ -33,7 +33,7 @@ module Admin::PostTypeHelper
33
33
  private
34
34
 
35
35
  def post_type_taxonomy_html_(categories, taxonomy="categories", name="categories", type="checkbox", values=[], class_cat="", required = false)
36
- return "#{t('admin.post_type.message.no_created_html', taxonomy: (taxonomy == "categories")? t('admin.table.categories') : t('admin.table.tags') )}" if categories.count < 1
36
+ return "#{t('camaleon_cms.admin.post_type.message.no_created_html', taxonomy: (taxonomy == "categories")? t('camaleon_cms.admin.table.categories') : t('camaleon_cms.admin.table.tags') )}" if categories.count < 1
37
37
  html = "<ul class='#{class_cat}'>"
38
38
  categories.decorate.each do |f|
39
39
  html += "<li>"
@@ -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
- module CamaleonHelper
9
+ module CamaleonCms::CamaleonHelper
10
10
  # send and email
11
11
  # email: email to
12
12
  # subject: Subject of the email
@@ -18,7 +18,7 @@ module CamaleonHelper
18
18
  def sendmail(email,subject='Tiene una notificacion',content='',from=nil,attachs=[],template_name = 'mailer', layout_name = 'mailer')
19
19
  Thread.abort_on_exception=true
20
20
  Thread.new do
21
- HtmlMailer.sender(email, subject, content, from, attachs, root_url, current_site, template_name, layout_name).deliver_now
21
+ HtmlMailer.sender(email, subject, content, from, attachs, cama_root_url, current_site, template_name, layout_name).deliver_now
22
22
  ActiveRecord::Base.connection.close
23
23
  end
24
24
  end
@@ -27,13 +27,15 @@ module CamaleonHelper
27
27
  # verify if current user is logged in, if not, then return nil
28
28
  # return html link
29
29
  def cama_edit_link(url, title = nil, attrs = { })
30
- return '' unless current_user.present?
30
+ return '' unless cama_current_user.present?
31
+ return '' unless cama_current_user.admin?
31
32
  attrs = {target: "_blank", style: "font-size:11px !important;cursor:pointer;"}.merge(attrs)
32
33
  ActionController::Base.helpers.link_to("&rarr; #{title || ct("edit")}".html_safe, url, attrs)
33
34
  end
34
35
 
35
36
  # execute controller action and return response
36
- def requestAction(controller,action,params={})
37
+ # NON USED
38
+ def cama_requestAction(controller,action,params={})
37
39
  controller.class_eval{
38
40
  def params=(params); @params = params end
39
41
  def params; @params end
@@ -46,29 +48,20 @@ module CamaleonHelper
46
48
  c.response.body
47
49
  end
48
50
 
49
- # deprecated helper
50
- def array_change_key_case(hash)
51
- result = hash.inject({}) do |hash, keys|
52
- hash[raw(keys[1])] = keys[0]
53
- hash
54
- end
55
- end
56
-
57
51
  # theme common translation text
58
52
  # key: key for translation
59
- # language: language for the translation, if it is nil, then will use current site language
60
- # valid only for common translations, If you can to use other translations for themes or plugins,
61
- # you can use the default of rails (I18n.t)
62
- def ct(key, language = nil)
63
- language = language || I18n.locale
53
+ # args: hash of arguments for i18n.t()
54
+ # database customized translations
55
+ def ct(key, args = {})
56
+ language = I18n.locale
64
57
  r = {flag: false, key: key, translation: "", locale: language.to_sym}
65
58
  hooks_run("on_translation", r)
66
59
  return r[:translation] if r[:flag]
67
- translate("common.#{key}", locale: language)
60
+ I18n.translate("camaleon_cms.common.#{key}", args)
68
61
  end
69
62
 
70
63
  # check if current request was for admin panel
71
- def is_admin_request?
64
+ def cama_is_admin_request?
72
65
  !(@_admin_menus.nil?)
73
66
  end
74
67
 
@@ -88,4 +81,15 @@ module CamaleonHelper
88
81
  end
89
82
  res.join("")
90
83
  end
84
+
85
+ # save value as cache instance and return value
86
+ # sample: cama_cache_fetch("my_key"){ 10+20*12 }
87
+ def cama_cache_fetch(var_name)
88
+ var_name = "@cama_cache_#{var_name}"
89
+ return instance_variable_get(var_name) if instance_variable_defined?(var_name)
90
+ cache = yield
91
+ instance_variable_set(var_name, cache)
92
+ cache
93
+ end
94
+
91
95
  end
@@ -6,10 +6,13 @@
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
- module CaptchaHelper
10
- def captcha_build(len = 5)
9
+ module CamaleonCms::CaptchaHelper
10
+
11
+ # build a captcha image
12
+ # len: Number or characters to include in captcha (default 5)
13
+ def cama_captcha_build(len = 5)
11
14
  img = MiniMagick::Image.open(File.join($camaleon_engine_dir.present? ? $camaleon_engine_dir : Rails.root.to_s, "lib", "captcha", "captcha_#{rand(12)}.jpg").to_s)
12
- text = rand_str(len)
15
+ text = cama_rand_str(len)
13
16
  session[:captcha] = text
14
17
  img.combine_options do |c|
15
18
  c.resize "150x40"
@@ -25,22 +28,22 @@ module CaptchaHelper
25
28
  # build a captcha tag (image with captcha)
26
29
  # img_args: attributes for image_tag
27
30
  # input_args: attributes for input field
28
- def captcha_tag(len = 5, img_args = {alt: ""}, input_args = {})
31
+ def cama_captcha_tag(len = 5, img_args = {alt: ""}, input_args = {})
29
32
  input_args[:placeholder] = "Please enter the text of the image" unless input_args[:placeholder].present?
30
- img_args["onclick"] = "this.src = '#{captcha_url(len: len)}'+'&t='+(new Date().getTime());"
31
- "<div><img src='#{captcha_url(len: len)}' #{img_args.collect{|k, v| "#{k}='#{v}'" }.join(" ") } /> <input type='text' name='captcha' #{input_args.collect{|k, v| "#{k}='#{v}'" }.join(" ") } /> </div>"
33
+ img_args["onclick"] = "this.src = \"#{cama_captcha_url(len: len)}\"+\"&t=\"+(new Date().getTime());"
34
+ "<div><img style='cursor: pointer;' src='#{cama_captcha_url(len: len)}' #{img_args.collect{|k, v| "#{k}='#{v}'" }.join(" ") } /> <input type='text' name='captcha' #{input_args.collect{|k, v| "#{k}='#{v}'" }.join(" ") } /> </div>"
32
35
  end
33
36
 
34
37
  # verify captcha value
35
- def captcha_verified?
36
- params[:captcha].present? && params[:captcha].upcase == session[:captcha]
38
+ def cama_captcha_verified?
39
+ (params[:captcha].present? && params[:captcha].upcase == session[:captcha]) || Rails.env == "test"
37
40
  end
38
41
 
39
42
  #************************* captcha in attack helpers ***************************#
40
43
  # check if the current visitor was submitted 5+ times
41
44
  # key: a string to represent a url or form view
42
45
  # key must be the same as the form "captcha_tags_if_under_attack(key, ...)"
43
- def captcha_under_attack?(key)
46
+ def cama_captcha_under_attack?(key)
44
47
  session[key] ||= 0
45
48
  # if session[key].to_i > 10 then send an email to administrator with request info (ip, browser, if logged then send user info
46
49
  session[key].to_i > current_site.get_option("max_try_attack", 5).to_i
@@ -49,36 +52,37 @@ module CaptchaHelper
49
52
  # verify captcha values if this key is under attack
50
53
  # key: a string to represent a url or form view
51
54
  def captcha_verify_if_under_attack(key)
52
- captcha_under_attack?(key) ? captcha_verified? : true
55
+ cama_captcha_under_attack?(key) ? cama_captcha_verified? : true
53
56
  end
54
57
 
55
58
  # increment attempts for key by 1
56
- def captcha_increment_attack(key)
59
+ def cama_captcha_increment_attack(key)
57
60
  session[key] ||= 0
58
61
  session[key] = session[key].to_i + 1
59
62
  end
60
63
 
61
64
  # reset the attacks counter for key
62
65
  # key: a string to represent a url or form view
63
- def captcha_reset_attack(key)
66
+ def cama_captcha_reset_attack(key)
64
67
  session[key] = 0
65
68
  end
66
69
 
67
70
  # return a number of attempts for key
68
71
  # key: a string to represent a url or form view
69
- def captcha_total_attacks(key)
72
+ def cama_captcha_total_attacks(key)
70
73
  session[key] ||= 0
71
74
  end
72
75
 
73
76
  # show captcha if under attack
74
77
  # key: a string to represent a url or form view
75
- def captcha_tags_if_under_attack(key, captcha_parmas = [5, {}, {class: "form-control required"}])
76
- captcha_tag(*captcha_parmas) if captcha_under_attack?(key)
78
+ def cama_captcha_tags_if_under_attack(key, captcha_parmas = [5, {}, {class: "form-control required"}])
79
+ cama_captcha_tag(*captcha_parmas) if cama_captcha_under_attack?(key)
77
80
  end
78
81
 
79
82
  private
80
-
81
- def rand_str(len=6)
83
+ # generate random string for captcha
84
+ # len: length of characters, default 6
85
+ def cama_rand_str(len=6)
82
86
  alphabets = [('A'..'Z').to_a].flatten!
83
87
  alphanumerics = [('A'..'Z').to_a,('0'..'9').to_a].flatten!
84
88
  str = alphabets[rand(alphabets.size)]
@@ -0,0 +1,48 @@
1
+ module CamaleonCms::CommentHelper
2
+ # return common data to save a new comment
3
+ # user_id, author, aothor_email, author_ip, approved, :agent
4
+ def cama_comments_get_common_data
5
+ comment_data = {}
6
+ comment_data[:user_id] = cama_current_user.id
7
+ comment_data[:author] = cama_current_user.the_name
8
+ comment_data[:author_email] = cama_current_user.email
9
+ comment_data[:author_IP] = request.remote_ip.to_s
10
+ comment_data[:approved] = "approved"
11
+ comment_data[:agent] = request.user_agent.force_encoding("ISO-8859-1").encode("UTF-8")
12
+ comment_data
13
+ end
14
+
15
+ # render as html content all comments recursively
16
+ # comments: collection of comments
17
+ def cama_comments_render_html(comments)
18
+ res = ""
19
+ labels = {"approved" => "success", "pending"=>"warning", "spam" => "danger" }
20
+ comments.decorate.each do |comment|
21
+ author = comment.the_author
22
+ res << "<div class='media'>
23
+ <div class='media-left'>
24
+ <a href='#{author.the_admin_profile_url}'>#{image_tag author.the_avatar, class: 'media-object', style: 'width: 64px; height: 64px;'}</a>
25
+ </div>
26
+ <div class='media-body'>
27
+ <h4 class='media-heading'>#{author.the_name} <small>#{comment.the_created_at}</small> <span class='label label-#{labels[comment.approved]} pull-right'>#{t("camaleon_cms.admin.comments.message.#{comment.approved}")}</span></h4>
28
+ <div class='comment_content'>#{comment.content}</div>
29
+ <div class='comment_actions'>
30
+ <div class='pull-left'>
31
+ <a href='#{cama_admin_post_comment_answer_path(@post.id, comment.id)}' data-comment-id='#{comment.id}' title='#{t('camaleon_cms.admin.comments.tooltip.reply_comment')}' class='btn btn-info reply btn-xs ajax_modal'><span class='fa fa-mail-reply'></span></a>
32
+ #{link_to raw('<i class="fa fa-trash-o"></i>'), { action: :destroy, id: comment.id }, method: :delete, data: { confirm: t('camaleon_cms.admin.message.delete') }, class: "btn btn-danger btn-xs cama_ajax_request", title: "#{t('camaleon_cms.admin.comments.tooltip.delete_comment')}" }
33
+ </div>
34
+ <div class='pull-right'>
35
+ <a href='#{url_for({ action: :toggle_status, comment_id: comment.id, s: "a" })}' title='#{t('camaleon_cms.admin.comments.tooltip.approved_comment')}' class='#{"hidden" if comment.approved == "approved"} btn btn-success approve btn-xs cama_ajax_request'><span class='fa fa-thumbs-o-up'></span></a>
36
+ <a href='#{url_for({ action: :toggle_status, comment_id: comment.id, s: "p" })}' title='#{t('camaleon_cms.admin.comments.tooltip.comment_pending')}' class='#{"hidden" if comment.approved == "pending"} btn btn-primary pending btn-xs cama_ajax_request'><span class='fa fa-warning'></span></a>
37
+ <a href='#{url_for({ action: :toggle_status, comment_id: comment.id, s: "s" })}' title='#{t('camaleon_cms.admin.comments.tooltip.comment_spam')}' class='#{"hidden" if comment.approved == "spam"} btn btn-danger spam btn-xs cama_ajax_request'><span class='fa fa-bug'></span></a>
38
+ </div>
39
+ </div>
40
+ <hr>
41
+ <div class='clearfix'></div>
42
+ #{ cama_comments_render_html comment.children }
43
+ </div>
44
+ </div>"
45
+ end
46
+ res
47
+ end
48
+ end
@@ -6,30 +6,32 @@
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
- module ContentHelper
9
+ module CamaleonCms::ContentHelper
10
10
  # initialize content variables
11
- def content_init
11
+ def cama_content_init
12
12
  @_before_content = []
13
13
  @_after_content = []
14
14
  end
15
15
 
16
16
  # prepend content for admin or frontend (after <body>)
17
- def content_prepend(content)
17
+ # sample: cama_content_prepend(<div>my prepend content</div>)
18
+ def cama_content_prepend(content)
18
19
  @_before_content << content
19
20
  end
20
21
 
21
22
  # append content for admin or frontend (before </body>)
22
- def content_append(content)
23
+ # sample: cama_content_prepend(<div>my after content</div>)
24
+ def cama_content_append(content)
23
25
  @_after_content << content
24
26
  end
25
27
 
26
- # draw all before contents
27
- def content_before_draw
28
- @_before_content.join("")
28
+ # draw all before contents registered by cama_content_prepend
29
+ def cama_content_before_draw
30
+ @_before_content.join("") rescue ""
29
31
  end
30
32
 
31
- # draw all after contents
32
- def content_after_draw
33
- @_after_content.join("")
33
+ # draw all after contents registered by cama_content_append
34
+ def cama_content_after_draw
35
+ @_after_content.join("") rescue ""
34
36
  end
35
37
  end
@@ -6,10 +6,10 @@
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
- module Frontend::ApplicationHelper
10
- include Frontend::SiteHelper
11
- include Frontend::NavMenuHelper
12
- include Frontend::SeoHelper
9
+ module CamaleonCms::Frontend::ApplicationHelper
10
+ include CamaleonCms::Frontend::SiteHelper
11
+ include CamaleonCms::Frontend::NavMenuHelper
12
+ include CamaleonCms::Frontend::SeoHelper
13
13
 
14
14
  # add where conditionals to filter private/hidden/expired/drafts/unpublished
15
15
  # note: only for post records
@@ -21,10 +21,10 @@ module Frontend::ApplicationHelper
21
21
  end
22
22
 
23
23
  # fix for url_to or url_path or any other who need add automatically current locale in the url
24
- # sample: url_to_fixed("root_url", data: "asdasd", y: 12)
24
+ # sample: cama_url_to_fixed("root_url", data: "asdasd", y: 12)
25
25
  # => http://localhost/fr?data=asdasd&y=12
26
26
  # note: if current locale is the default language, then locale is not added in the url
27
- def url_to_fixed(url_to, *args)
27
+ def cama_url_to_fixed(url_to, *args)
28
28
  options = args.extract_options!
29
29
  if request.present?
30
30
  if options.include?(:locale) && options[:locale] == false
@@ -34,7 +34,7 @@ module Frontend::ApplicationHelper
34
34
  end
35
35
  options[:locale] = nil if options[:locale].present? && current_site.get_languages.first.to_s == options[:locale].to_s
36
36
  end
37
- options.delete(:format) if PluginRoutes.system_info[:skip_format_url].present?
37
+ options.delete(:format) if PluginRoutes.system_info["skip_format_url"].present?
38
38
  send(url_to, *(args << options))
39
39
  end
40
40
  end
@@ -6,26 +6,13 @@
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
- module Frontend::NavMenuHelper
9
+ module CamaleonCms::Frontend::NavMenuHelper
10
10
  # draw nav menu as html list
11
11
  # key: slug for nav menu
12
12
  # to register this, go to admin -> appearance -> menus
13
13
  # (DEPRECATED)
14
14
  def get_nav_menu(key = 'main_menu', class_name = "navigation")
15
- return draw_menu({menu_slug: key, container_class: class_name})
16
-
17
- html = "<ul class='#{class_name}'>#{_get_nav_menu(key, class_name)} #{front_editor_link(admin_appearances_nav_menus_menu_url(slug: key)) rescue ""}</ul>"
18
- doc = Nokogiri::HTML.fragment(html)
19
- link_active = doc.css("a[href='#{site_current_path}']").first
20
- if link_active.present?
21
- link_active_parent = link_active.parent
22
- link_active_parent['class'] += ' active'
23
- link_active_parent.ancestors('li').each do |parent|
24
- parent['class'] += ' parent-active'
25
- end
26
- html = doc.to_html
27
- end
28
- html
15
+ draw_menu({menu_slug: key, container_class: class_name})
29
16
  end
30
17
 
31
18
  # draw menu as an html
@@ -69,9 +56,9 @@ module Frontend::NavMenuHelper
69
56
  args = args_def.merge(args)
70
57
  nav_menu = current_site.nav_menus.find_by_slug(args[:menu_slug])
71
58
  nav_menu = current_site.nav_menus.first unless nav_menu.present?
72
- html = "<#{args[:container]} class='#{args[:container_class]}' id='#{args[:container_id]}'>#{args[:container_prepend]}{__}#{cama_edit_link(admin_appearances_nav_menus_menu_url(slug: nav_menu.slug)) rescue ""}#{args[:container_append]}</#{args[:container]}>"
59
+ html = "<#{args[:container]} class='#{args[:container_class]}' id='#{args[:container_id]}'>#{args[:container_prepend]}{__}#{args[:container_append]}</#{args[:container]}>"
73
60
  if nav_menu.present?
74
- html = html.sub("{__}", _menu_draw_items(args, nav_menu.children))
61
+ html = html.sub("{__}", cama_menu_draw_items(args, nav_menu.children))
75
62
  else
76
63
  html = html.sub("{__}", "")
77
64
  end
@@ -79,15 +66,15 @@ module Frontend::NavMenuHelper
79
66
  end
80
67
 
81
68
  # draw menu items
82
- def _menu_draw_items(args, nav_menu, level = 0)
69
+ def cama_menu_draw_items(args, nav_menu, level = 0)
83
70
  html = ""
84
- _args = args.dup
85
71
  parent_current = false
86
72
  index = 0
87
73
  nav_menu.eager_load(:metas).each do |nav_menu_item|
74
+ _args = args.dup
88
75
  data_nav_item = _get_link_nav_menu(nav_menu_item)
89
76
  next if data_nav_item == false
90
- _is_current = site_current_path == data_nav_item[:link] || site_current_path == data_nav_item[:link].sub(".html", "")
77
+ _is_current = data_nav_item[:current] || site_current_path == data_nav_item[:link] || site_current_path == data_nav_item[:link].sub(".html", "")
91
78
  has_children = nav_menu_item.have_children? && (args[:levels] == -1 || (args[:levels] != -1 && level <= args[:levels]))
92
79
  r = {
93
80
  menu_item: nav_menu_item.decorate,
@@ -102,7 +89,7 @@ module Frontend::NavMenuHelper
102
89
  _args = r[:settings]
103
90
 
104
91
  if has_children
105
- html_children, current_children = _menu_draw_items(args, nav_menu_item.children, level + 1)
92
+ html_children, current_children = cama_menu_draw_items(args, nav_menu_item.children, level + 1)
106
93
  else
107
94
  html_children, current_children = "", false
108
95
  end
@@ -118,15 +105,15 @@ module Frontend::NavMenuHelper
118
105
  if level == 0
119
106
  html
120
107
  else
121
- html = "<#{_args[:sub_container]} class='#{_args[:sub_class]} #{"parent-#{args[:item_current]}" if parent_current} level-#{level}'>#{html}</#{_args[:sub_container]}>"
108
+ html = "<#{args[:sub_container]} class='#{args[:sub_class]} #{"parent-#{args[:item_current]}" if parent_current} level-#{level}'>#{html}</#{args[:sub_container]}>"
122
109
  [html, parent_current]
123
110
  end
124
111
  end
125
112
 
126
113
  # check if menu is the current menu
127
- def is_current_menu?(menu_item)
114
+ def cama_is_current_menu?(menu_item)
128
115
  r = _get_link_nav_menu(menu_item)
129
- site_current_path == r[:link] || site_current_path.sub(".html", "") == r[:link].sub(".html", "") if r.present?
116
+ r[:current] || site_current_path == r[:link] || site_current_path.sub(".html", "") == r[:link].sub(".html", "") if r.present?
130
117
  end
131
118
 
132
119
  #******************* BREADCRUMBS *******************
@@ -161,21 +148,21 @@ module Frontend::NavMenuHelper
161
148
  begin
162
149
  case type_menu
163
150
  when 'post'
164
- post = Post.find(nav_menu_item.get_option('object_id')).decorate
151
+ post = CamaleonCms::Post.find(nav_menu_item.get_option('object_id')).decorate
165
152
  return false unless post.can_visit?
166
- {link: post.the_url(as_path: true), name: post.the_title, type_menu: type_menu}
153
+ {link: post.the_url(as_path: true), name: post.the_title, type_menu: type_menu, current: @cama_visited_post.present? && @cama_visited_post.id == post.id}
167
154
  when 'category'
168
- category = Category.find(nav_menu_item.get_option('object_id')).decorate
169
- {link: category.the_url(as_path: true), name: category.the_title, type_menu: type_menu}
155
+ category = CamaleonCms::Category.find(nav_menu_item.get_option('object_id')).decorate
156
+ {link: category.the_url(as_path: true), name: category.the_title, type_menu: type_menu, current: @cama_visited_category.present? && @cama_visited_category.id == category.id}
170
157
  when 'post_tag'
171
- post_tag = PostTag.find(nav_menu_item.get_option('object_id')).decorate
172
- {link: post_tag.the_url(as_path: true), name: post_tag.the_title, type_menu: type_menu}
158
+ post_tag = CamaleonCms::PostTag.find(nav_menu_item.get_option('object_id')).decorate
159
+ {link: post_tag.the_url(as_path: true), name: post_tag.the_title, type_menu: type_menu, current: @cama_visited_tag.present? && @cama_visited_tag.id == post_tag.id}
173
160
  when 'post_type'
174
- post_type = PostType.find(nav_menu_item.get_option('object_id')).decorate
175
- {link: post_type.the_url(as_path: true), name: post_type.the_title, type_menu: type_menu}
161
+ post_type = CamaleonCms::PostType.find(nav_menu_item.get_option('object_id')).decorate
162
+ {link: post_type.the_url(as_path: true), name: post_type.the_title, type_menu: type_menu, current: @cama_visited_post_type.present? && @cama_visited_post_type.id == post_type.id}
176
163
  when 'external'
177
- r = {link: nav_menu_item.get_option('object_id'), name: nav_menu_item.name.to_s.translate, type_menu: type_menu}
178
- r[:link] = url_to_fixed("root_url") if r[:link] == "root_url"
164
+ r = {link: nav_menu_item.get_option('object_id'), name: nav_menu_item.name.to_s.translate, type_menu: type_menu, current: false}
165
+ r[:link] = cama_url_to_fixed("cama_root_url") if r[:link] == "root_url"
179
166
  r
180
167
  else
181
168
  false