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,19 +6,21 @@
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 TermRelationship < ActiveRecord::Base
10
- self.table_name = "term_relationships"
9
+ class CamaleonCms::TermRelationship < ActiveRecord::Base
10
+ self.table_name = "#{PluginRoutes.static_system_info["db_prefix"]}term_relationships"
11
11
  attr_accessible :objectid, :term_taxonomy_id, :term_order
12
12
  default_scope ->{ order(term_order: :asc) }
13
13
 
14
- belongs_to :term_taxonomies, :class_name => "TermTaxonomy", foreign_key: :term_taxonomy_id, inverse_of: :term_relationships
15
- belongs_to :objects, ->{ order("posts.id DESC") }, :class_name => "Post", foreign_key: :objectid, inverse_of: :term_relationships
14
+ belongs_to :term_taxonomies, :class_name => "CamaleonCms::TermTaxonomy", foreign_key: :term_taxonomy_id, inverse_of: :term_relationships
15
+ belongs_to :objects, ->{ order("#{CamaleonCms::Post.table_name}.id DESC") }, :class_name => "CamaleonCms::Post", foreign_key: :objectid, inverse_of: :term_relationships
16
16
 
17
17
  # callbacks
18
18
  after_create :update_count
19
19
  before_destroy :update_count
20
20
 
21
21
  private
22
+ # update counter of post published items
23
+ # TODO verify counter
22
24
  def update_count
23
25
  self.term_taxonomies.update_column('count', self.term_taxonomies.posts.published.size) if self.term_taxonomies.present?
24
26
  end
@@ -0,0 +1,81 @@
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::UniqValidator < ActiveModel::Validator
10
+ def validate(record)
11
+ unless record.skip_slug_validation?
12
+ record.errors[:base] << "#{I18n.t('camaleon_cms.admin.post.message.requires_different_slug')}" if CamaleonCms::TermTaxonomy.where(slug: record.slug).where.not(id: record.id).where("#{CamaleonCms::TermTaxonomy.table_name}.taxonomy" => record.taxonomy).where("#{CamaleonCms::TermTaxonomy.table_name}.parent_id" => record.parent_id).size > 0
13
+ end
14
+ end
15
+ end
16
+ class CamaleonCms::TermTaxonomy < ActiveRecord::Base
17
+ include CamaleonCms::Metas
18
+ include CamaleonCms::CustomFieldsRead
19
+ self.table_name = "#{PluginRoutes.static_system_info["db_prefix"]}term_taxonomy"
20
+ attr_accessible :taxonomy, :description, :parent_id, :count, :name, :slug, :term_group, :status, :term_order, :user_id
21
+ attr_accessible :data_options
22
+ attr_accessible :data_metas
23
+
24
+ # callbacks
25
+ before_validation :before_validating
26
+ before_destroy :destroy_dependencies
27
+
28
+ # validates
29
+ validates :name, :taxonomy, presence: true
30
+ validates_with CamaleonCms::UniqValidator
31
+
32
+ #default_scope order('users.role ASC')
33
+ # relations
34
+ has_many :term_relationships, :class_name => "CamaleonCms::TermRelationship", :foreign_key => :term_taxonomy_id, dependent: :destroy
35
+ has_many :posts, foreign_key: :objectid, through: :term_relationships, :source => :objects
36
+ belongs_to :parent, class_name: "CamaleonCms::TermTaxonomy", foreign_key: :parent_id
37
+ has_many :user_relationships, :class_name => "CamaleonCms::UserRelationship", :foreign_key => :term_taxonomy_id, dependent: :destroy
38
+ has_many :users, through: :user_relationships, :source => :user
39
+
40
+ # return all children taxonomy
41
+ # sample: sub categories of a category
42
+ def children
43
+ CamaleonCms::TermTaxonomy.where("#{CamaleonCms::TermTaxonomy.table_name}.parent_id = ?", self.id)
44
+ end
45
+
46
+ # save multiple option at once
47
+ # sample: set_options_from_form({option1: 1, option2: 'b', ..})
48
+ def set_options_from_form(metas = [])
49
+ if metas.present?
50
+ metas.each do |key, value|
51
+ self.set_option(key, value)
52
+ end
53
+ end
54
+ end
55
+
56
+ # return all menu items in which this taxonomy was assigned
57
+ def in_nav_menu_items
58
+ CamaleonCms::NavMenuItem.joins(:metas).where("value LIKE ?","%\"object_id\":\"#{self.id}\"%").where("value LIKE ?","%\"type\":\"#{self.taxonomy}\"%").readonly(false)
59
+ end
60
+
61
+ # permit to skip slug validations for children models, like menu items
62
+ def skip_slug_validation?
63
+ false
64
+ end
65
+
66
+ private
67
+ # callback before validating
68
+ def before_validating
69
+ slug = self.slug
70
+ slug = self.name if slug.blank?
71
+ self.name = slug unless self.name.present?
72
+ self.slug = slug.to_s.parameterize
73
+ end
74
+
75
+ # destroy all dependencies
76
+ # unassign all items from menus
77
+ def destroy_dependencies
78
+ in_nav_menu_items.destroy_all
79
+ end
80
+
81
+ end
@@ -6,12 +6,12 @@
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 Theme < TermTaxonomy
9
+ class CamaleonCms::Theme < CamaleonCms::TermTaxonomy
10
10
  # attrs:
11
11
  # slug => plugin key
12
12
  default_scope { where(taxonomy: :theme) }
13
- has_many :metas, ->{ where(object_class: 'Theme')}, :class_name => "Meta", foreign_key: :objectid, dependent: :destroy
14
- belongs_to :site, :class_name => "Site", foreign_key: :parent_id
13
+ has_many :metas, ->{ where(object_class: 'Theme')}, :class_name => "CamaleonCms::Meta", foreign_key: :objectid, dependent: :destroy
14
+ belongs_to :site, :class_name => "CamaleonCms::Site", foreign_key: :parent_id
15
15
 
16
16
  before_validation :fix_name
17
17
  before_destroy :destroy_custom_fields
@@ -6,33 +6,30 @@
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 UniqValidatorUser < ActiveModel::Validator
9
+ class CamaleonCms::UniqValidatorUser < ActiveModel::Validator
10
10
  def validate(record)
11
- record.errors[:base] << "#{I18n.t('admin.users.message.requires_different_username')}" if User.where(username: record.username).where.not(id: record.id).where("users.site_id" => record.site_id).size > 0
12
- record.errors[:base] << "#{I18n.t('admin.users.message.requires_different_email')}" if User.where(email: record.email).where.not(id: record.id).where("users.site_id" => record.site_id).size > 0
11
+ record.errors[:base] << "#{I18n.t('camaleon_cms.admin.users.message.requires_different_username')}" if CamaleonCms::User.where(username: record.username).where.not(id: record.id).where("#{CamaleonCms::User.table_name}.site_id" => record.site_id).size > 0
12
+ record.errors[:base] << "#{I18n.t('camaleon_cms.admin.users.message.requires_different_email')}" if CamaleonCms::User.where(email: record.email).where.not(id: record.id).where("#{CamaleonCms::User.table_name}.site_id" => record.site_id).size > 0
13
13
 
14
14
  end
15
15
  end
16
16
 
17
- class User < ActiveRecord::Base
18
- include Metas
19
- include CustomFieldsRead
20
- # has_one :profile , :class_name => "Profile", :foreign_key => "user_id", dependent: :destroy
17
+ class CamaleonCms::User < ActiveRecord::Base
18
+ include CamaleonCms::Metas
19
+ include CamaleonCms::CustomFieldsRead
20
+ self.table_name = "#{PluginRoutes.static_system_info["db_prefix"]}users"
21
21
  attr_accessible :username, :role, :email, :parent_id, :last_login_at, :site_id, :password, :password_confirmation #, :profile_attributes
22
- #attr_accessor
23
- #accepts_nested_attributes_for :profile
24
- default_scope {order('users.role ASC')}
25
- #validates_uniqueness_of :username #, :unless => Proc.new { |a| a.auth_social.present? }
26
- #validates_uniqueness_of :email #, :unless => Proc.new { |a| a.auth_social.present? }
22
+ attr_accessible :data_options
23
+ attr_accessible :data_metas
24
+
25
+ default_scope {order("#{CamaleonCms::User.table_name}.role ASC")}
27
26
 
28
27
  validates :username, :presence => true
29
28
  validates :email, :presence => true, :format => { :with => /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i } #, :unless => Proc.new { |a| a.auth_social.present? }
30
- validates_with UniqValidatorUser
29
+ validates_with CamaleonCms::UniqValidatorUser
31
30
 
32
31
  has_secure_password #validations: :auth_social.nil?
33
32
 
34
- #validates :password, :confirmation => true,
35
- # :unless => Proc.new { |a| a.password.blank? }
36
33
  before_create { generate_token(:auth_token) }
37
34
  before_save :before_saved
38
35
  before_create :before_saved
@@ -40,11 +37,12 @@ class User < ActiveRecord::Base
40
37
  before_destroy :reassign_posts
41
38
  # relations
42
39
 
43
- has_many :metas, ->{ where(object_class: 'User')}, :class_name => "Meta", foreign_key: :objectid, dependent: :destroy
44
- has_many :user_relationships, class_name: "UserRelationship", foreign_key: :user_id, dependent: :destroy#, inverse_of: :user
45
- has_many :term_taxonomies, foreign_key: :term_taxonomy_id, class_name: "TermTaxonomy", through: :user_relationships, :source => :term_taxonomies
46
- has_many :sites, foreign_key: :term_taxonomy_id, class_name: "Site", through: :user_relationships, :source => :term_taxonomies
47
- has_many :all_posts, class_name: "Post"
40
+ has_many :metas, ->{ where(object_class: 'User')}, :class_name => "CamaleonCms::Meta", foreign_key: :objectid, dependent: :destroy
41
+ has_many :user_relationships, class_name: "CamaleonCms::UserRelationship", foreign_key: :user_id, dependent: :destroy#, inverse_of: :user
42
+ has_many :term_taxonomies, foreign_key: :term_taxonomy_id, class_name: "CamaleonCms::TermTaxonomy", through: :user_relationships, :source => :term_taxonomies
43
+ has_many :sites, foreign_key: :term_taxonomy_id, class_name: "CamaleonCms::Site", through: :user_relationships, :source => :term_taxonomies
44
+ has_many :all_posts, class_name: "CamaleonCms::Post"
45
+
48
46
  #scopes
49
47
  scope :admin_scope, -> { where(:role => 'admin') }
50
48
  scope :actives, -> { where(:active => 1) }
@@ -59,23 +57,12 @@ class User < ActiveRecord::Base
59
57
  site.posts.where(user_id: self.id)
60
58
  end
61
59
 
62
- def self.meta_default
63
- {
64
- fields: {
65
- first_name: {type: 'text', label: 'First Name'},
66
- last_name: {type: 'text', label: 'Last Name'}
67
- }
68
-
69
- }.to_sym
70
- end
71
-
72
-
73
60
  def _id
74
61
  "#{self.role.upcase}-#{self.id}"
75
62
  end
76
63
 
77
64
  def fullname
78
- meta[:first_name].blank? ? self.username.titleize : "#{meta[:first_name]} #{meta[:last_name]}".titleize
65
+ get_meta("first_name").blank? ? self.username.titleize : "#{get_meta("first_name")} #{get_meta("last_name")}".titleize
79
66
  end
80
67
 
81
68
  def admin?
@@ -107,17 +94,16 @@ class User < ActiveRecord::Base
107
94
  def created
108
95
  self.created_at.strftime('%d/%m/%Y %H:%M')
109
96
  end
97
+
110
98
  def updated
111
99
  self.updated_at.strftime('%d/%m/%Y %H:%M')
112
100
  end
113
101
 
114
-
115
-
116
102
  # auth
117
103
  def generate_token(column)
118
104
  begin
119
105
  self[column] = SecureRandom.urlsafe_base64
120
- end while User.exists?(column => self[column])
106
+ end while CamaleonCms::User.exists?(column => self[column])
121
107
  end
122
108
 
123
109
  def send_password_reset
@@ -140,7 +126,7 @@ class User < ActiveRecord::Base
140
126
  end
141
127
 
142
128
  def set_all_sites
143
- Site.all.each do |site|
129
+ CamaleonCms::Site.all.each do |site|
144
130
  self.assign_site(site)
145
131
  end
146
132
  end
@@ -149,7 +135,7 @@ class User < ActiveRecord::Base
149
135
  # reassign all comments of this user to first admin
150
136
  # if doesn't exist any other administrator, this will cancel the user destroy
151
137
  def reassign_posts
152
- sites = Site.all
138
+ sites = CamaleonCms::Site.all
153
139
  sites.each do |site|
154
140
  u = site.users.admin_scope.where.not(id: self.id).first
155
141
  unless u.present?
@@ -6,12 +6,12 @@
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 UserRelationship < ActiveRecord::Base
10
- self.table_name = "user_relationships"
9
+ class CamaleonCms::UserRelationship < ActiveRecord::Base
10
+ self.table_name = "#{PluginRoutes.static_system_info["db_prefix"]}user_relationships"
11
11
  attr_accessible :user_id, :term_taxonomy_id, :term_order, :active
12
12
 
13
- belongs_to :term_taxonomies, :class_name => "TermTaxonomy", foreign_key: :term_taxonomy_id, inverse_of: :user_relationships
14
- belongs_to :user, :class_name => "User", foreign_key: :user_id, inverse_of: :user_relationships
13
+ belongs_to :term_taxonomies, :class_name => "CamaleonCms::TermTaxonomy", foreign_key: :term_taxonomy_id, inverse_of: :user_relationships
14
+ belongs_to :user, :class_name => "CamaleonCms::User", foreign_key: :user_id, inverse_of: :user_relationships
15
15
 
16
16
 
17
17
  end
@@ -0,0 +1,140 @@
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::UserRole < CamaleonCms::TermTaxonomy
10
+ default_scope { where(taxonomy: :user_roles) }
11
+ has_many :metas, ->{ where(object_class: 'UserRole')}, :class_name => "CamaleonCms::Meta", foreign_key: :objectid, dependent: :destroy
12
+ has_many :users, through: :user_relationships, :source => :user
13
+ belongs_to :site, :class_name => "CamaleonCms::Site", foreign_key: :parent_id
14
+
15
+ def roles_post_type
16
+ self.get_meta("_post_type")
17
+ end
18
+
19
+ def roles_manager
20
+ self.get_meta("_manager")
21
+ end
22
+
23
+ def editable?
24
+ term_group.nil?
25
+ end
26
+
27
+
28
+ ROLES = {
29
+ post_type: [
30
+ {
31
+ key: 'edit',
32
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_create_or_edit')}",
33
+ color: 'success',
34
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.create_or_edit')}"
35
+ },
36
+ {
37
+ key: 'edit_other',
38
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_edit_other')}",
39
+ color: 'success',
40
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.edit_other')}"
41
+ },
42
+ {
43
+ key: 'edit_publish',
44
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_edit_publish')}",
45
+ color: 'success',
46
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.edit_publish')}"
47
+ },
48
+ {
49
+ key: 'publish',
50
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.publish')}",
51
+ color: 'success',
52
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.publish')}"
53
+ },
54
+ {
55
+ key: 'delete',
56
+ label: "#{I18n.t('camaleon_cms.admin.button.delete')}",
57
+ color: 'danger',
58
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.delete')}"
59
+ },
60
+ {
61
+ key: 'delete_other',
62
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_delete_other')}",
63
+ color: 'danger',
64
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.delete_other')}"
65
+ },
66
+ {
67
+ key: 'delete_publish',
68
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_delete_publish')}",
69
+ color: 'danger',
70
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.delete_publish')}"
71
+ },
72
+ #{
73
+ # key: 'read_private',
74
+ # label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_read_private')}",
75
+ # color: 'info',
76
+ # description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.read_private')}"
77
+ #},
78
+ {
79
+ key: 'manage_categories',
80
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_manage_categories')}",
81
+ color: 'warning',
82
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.manage_categories')}"
83
+ },
84
+ {
85
+ key: 'manage_tags',
86
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.html_manage_tags')}",
87
+ color: 'warning',
88
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.manage_tags')}"
89
+ }
90
+ ],
91
+ manager: [
92
+ {
93
+ key: 'media',
94
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.media')}",
95
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.media')}"
96
+ },
97
+ {
98
+ key: 'comments',
99
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.comments')}",
100
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.comments')}"
101
+ },
102
+ #{
103
+ # key: 'forms',
104
+ # label: "#{I18n.t('camaleon_cms.admin.users.roles_values.forms')}",
105
+ # description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.forms')}"
106
+ #},
107
+ {
108
+ key: 'themes',
109
+ label: "#{I18n.t('camaleon_cms.admin.users.roles_values.themes')}",
110
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.themes')}"
111
+ },
112
+ {
113
+ key: 'widgets',
114
+ label: "#{I18n.t('camaleon_cms.admin.sidebar.widgets')}",
115
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.widgets')}"
116
+ },
117
+ {
118
+ key: 'nav_menu',
119
+ label: "#{I18n.t('camaleon_cms.admin.sidebar.menus')}",
120
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.menus')}"
121
+ },
122
+ {
123
+ key: 'plugins',
124
+ label: "#{I18n.t('camaleon_cms.admin.sidebar.plugins')}",
125
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.plugins')}"
126
+ },
127
+ {
128
+ key: 'users',
129
+ label: "#{I18n.t('camaleon_cms.admin.sidebar.users')}",
130
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.users')}"
131
+ },
132
+ {
133
+ key: 'settings',
134
+ label: "#{I18n.t('camaleon_cms.admin.sidebar.settings')}",
135
+ description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.settings')}"
136
+ }
137
+ ]
138
+ }
139
+
140
+ 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
- module Widget
9
+ module CamaleonCms::Widget
10
10
  def self.table_name_prefix
11
11
  'widget_'
12
12
  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 Widget::Assigned < PostDefault
9
+ class CamaleonCms::Widget::Assigned < CamaleonCms::PostDefault
10
10
  default_scope ->{ where(post_class: self.name).order(:taxonomy_id) }
11
11
  # post_parent: sidebar_id
12
12
  # visibility: widget_id
@@ -18,9 +18,9 @@ class Widget::Assigned < PostDefault
18
18
 
19
19
  attr_accessible :widget_id, :sidebar_id, :item_order
20
20
 
21
- has_many :metas, ->{ where(object_class: 'Widget::Assigned')}, :class_name => "Meta", foreign_key: :objectid, dependent: :destroy
22
- belongs_to :sidebar, class_name: "Widget::Sidebar", foreign_key: :post_parent
23
- belongs_to :widget, class_name: "Widget::Main", foreign_key: :visibility
21
+ has_many :metas, ->{ where(object_class: 'Widget::Assigned')}, :class_name => "CamaleonCms::Meta", foreign_key: :objectid, dependent: :destroy
22
+ belongs_to :sidebar, class_name: "CamaleonCms::Widget::Sidebar", foreign_key: :post_parent
23
+ belongs_to :widget, class_name: "CamaleonCms::Widget::Main", foreign_key: :visibility
24
24
  after_initialize :fix_slug2
25
25
  before_create :set_order
26
26
 
@@ -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 Widget::Main < TermTaxonomy
9
+ class CamaleonCms::Widget::Main < CamaleonCms::TermTaxonomy
10
10
  default_scope { where(taxonomy: :widget) }
11
11
  attr_accessible :excerpt, :renderer
12
12
  # name: "title"
@@ -16,11 +16,11 @@ class Widget::Main < TermTaxonomy
16
16
  # excerpt: string for message
17
17
  # renderer: string (path to the template for render this widget)
18
18
 
19
- has_many :metas, ->{ where(object_class: 'Widget::Main')}, :class_name => "Meta", foreign_key: :objectid, dependent: :destroy
20
- belongs_to :owner, class_name: "User", foreign_key: :user_id
21
- belongs_to :site, :class_name => "Site", foreign_key: :parent_id
19
+ has_many :metas, ->{ where(object_class: 'Widget::Main')}, :class_name => "CamaleonCms::Meta", foreign_key: :objectid, dependent: :destroy
20
+ belongs_to :owner, class_name: "CamaleonCms::User", foreign_key: :user_id
21
+ belongs_to :site, :class_name => "CamaleonCms::Site", foreign_key: :parent_id
22
22
 
23
- has_many :assigned, class_name: "Widget::Assigned", foreign_key: :visibility, dependent: :destroy
23
+ has_many :assigned, class_name: "CamaleonCms::Widget::Assigned", foreign_key: :visibility, dependent: :destroy
24
24
  before_save :check_excerpt
25
25
  def is_simple?
26
26
  self.status == "simple"