camaleon_cms 0.0.1

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

Potentially problematic release.


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

Files changed (653) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +37 -0
  3. data/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  4. data/app/assets/fonts/glyphicons-halflings-regular.svg +229 -0
  5. data/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  6. data/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  7. data/app/assets/images/admin/no_image.jpg +0 -0
  8. data/app/assets/images/bg-tree.jpeg +0 -0
  9. data/app/assets/images/camaleon-dark.png +0 -0
  10. data/app/assets/images/camaleon.png +0 -0
  11. data/app/assets/images/category-icon.png +0 -0
  12. data/app/assets/images/image-not-found.png +0 -0
  13. data/app/assets/images/language/de.png +0 -0
  14. data/app/assets/images/language/en.png +0 -0
  15. data/app/assets/images/language/es.png +0 -0
  16. data/app/assets/images/language/fr.png +0 -0
  17. data/app/assets/images/language/it.png +0 -0
  18. data/app/assets/images/language/pt.png +0 -0
  19. data/app/assets/images/language/zh.png +0 -0
  20. data/app/assets/images/loader.gif +0 -0
  21. data/app/assets/images/users/no-image.jpg +0 -0
  22. data/app/assets/javascripts/admin/actions.js +248 -0
  23. data/app/assets/javascripts/admin/admin-manifest.js +32 -0
  24. data/app/assets/javascripts/admin/bootstrap-colorpicker.js +540 -0
  25. data/app/assets/javascripts/admin/bootstrap-datepicker.js +1690 -0
  26. data/app/assets/javascripts/admin/bootstrap-datetimepicker.min.js +26 -0
  27. data/app/assets/javascripts/admin/bootstrap-select.js +1022 -0
  28. data/app/assets/javascripts/admin/core.js +267 -0
  29. data/app/assets/javascripts/admin/custom_fields.js +165 -0
  30. data/app/assets/javascripts/admin/data.js +78 -0
  31. data/app/assets/javascripts/admin/elfinder-manifest.js +7 -0
  32. data/app/assets/javascripts/admin/elfinder/elfinder.full.js +12646 -0
  33. data/app/assets/javascripts/admin/elfinder/i18n/elfinder.es.js +294 -0
  34. data/app/assets/javascripts/admin/elfinder/i18n/elfinder.fr.js +298 -0
  35. data/app/assets/javascripts/admin/elfinder/proxy/elFinderSupportVer1.js +338 -0
  36. data/app/assets/javascripts/admin/elfinder/upload_elfinder.js +236 -0
  37. data/app/assets/javascripts/admin/es.js +27 -0
  38. data/app/assets/javascripts/admin/form-builder/formbuilder.js +1250 -0
  39. data/app/assets/javascripts/admin/form-builder/vendor.js +3072 -0
  40. data/app/assets/javascripts/admin/form/cropper.min.js +9 -0
  41. data/app/assets/javascripts/admin/form/jquery.form.js +911 -0
  42. data/app/assets/javascripts/admin/jquery-sieve.js +6 -0
  43. data/app/assets/javascripts/admin/jquery-ui.min.js +10 -0
  44. data/app/assets/javascripts/admin/jquery.nestable.js +485 -0
  45. data/app/assets/javascripts/admin/jquery.slugify.js +65 -0
  46. data/app/assets/javascripts/admin/jquery.tagsinput.min.js +1 -0
  47. data/app/assets/javascripts/admin/jquery.validate.js +1415 -0
  48. data/app/assets/javascripts/admin/login.js.coffee +7 -0
  49. data/app/assets/javascripts/admin/login_manifest.js +18 -0
  50. data/app/assets/javascripts/admin/modal.js +94 -0
  51. data/app/assets/javascripts/admin/nav-menu.js +110 -0
  52. data/app/assets/javascripts/admin/plugins.js +637 -0
  53. data/app/assets/javascripts/admin/post.js +274 -0
  54. data/app/assets/javascripts/admin/tageditor/jquery.caret.min.js +2 -0
  55. data/app/assets/javascripts/admin/tageditor/jquery.tag-editor.js +352 -0
  56. data/app/assets/javascripts/admin/tinymce/langs/es.js +177 -0
  57. data/app/assets/javascripts/admin/tinymce/langs/readme.md +3 -0
  58. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-cool.gif +0 -0
  59. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-cry.gif +0 -0
  60. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-embarassed.gif +0 -0
  61. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
  62. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-frown.gif +0 -0
  63. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-innocent.gif +0 -0
  64. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-kiss.gif +0 -0
  65. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-laughing.gif +0 -0
  66. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
  67. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-sealed.gif +0 -0
  68. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-smile.gif +0 -0
  69. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-surprised.gif +0 -0
  70. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
  71. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-undecided.gif +0 -0
  72. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-wink.gif +0 -0
  73. data/app/assets/javascripts/admin/tinymce/plugins/emoticons/img/smiley-yell.gif +0 -0
  74. data/app/assets/javascripts/admin/tinymce/plugins/filemanager/plugin.min.js +31 -0
  75. data/app/assets/javascripts/admin/tinymce/plugins/visualblocks/css/visualblocks.css +135 -0
  76. data/app/assets/javascripts/admin/tinymce/skins/lightgray/content.min.css.scss +4 -0
  77. data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
  78. data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce-small.svg +62 -0
  79. data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  80. data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
  81. data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  82. data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce.svg +83 -0
  83. data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  84. data/app/assets/javascripts/admin/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  85. data/app/assets/javascripts/admin/tinymce/skins/lightgray/img/anchor.gif +0 -0
  86. data/app/assets/javascripts/admin/tinymce/skins/lightgray/img/loader.gif +0 -0
  87. data/app/assets/javascripts/admin/tinymce/skins/lightgray/img/object.gif +0 -0
  88. data/app/assets/javascripts/admin/tinymce/skins/lightgray/img/trans.gif +0 -0
  89. data/app/assets/javascripts/admin/tinymce/themes/modern/theme.min.js +1 -0
  90. data/app/assets/javascripts/admin/tinymce/tinymce.min.js +11 -0
  91. data/app/assets/javascripts/admin/translator.js +109 -0
  92. data/app/assets/javascripts/admin/underscore.js +1536 -0
  93. data/app/assets/javascripts/admin/widgets.js +53 -0
  94. data/app/assets/javascripts/audio/alert.mp3 +0 -0
  95. data/app/assets/javascripts/audio/fail.mp3 +0 -0
  96. data/app/assets/javascripts/bootstrap.min.js +7 -0
  97. data/app/assets/javascripts/elfinder_front.js +85 -0
  98. data/app/assets/javascripts/gibberish-aes.js +1017 -0
  99. data/app/assets/javascripts/jquery-1.11.3.min.js +5 -0
  100. data/app/assets/stylesheets/admin/admin-manifest.css +28 -0
  101. data/app/assets/stylesheets/admin/animate/animate.min.css +6 -0
  102. data/app/assets/stylesheets/admin/bootstrap/bootstrap-datetimepicker.css +339 -0
  103. data/app/assets/stylesheets/admin/bootstrap/bootstrap.min.css +5 -0
  104. data/app/assets/stylesheets/admin/bootstrap/images/glyphicons-halflings.png +0 -0
  105. data/app/assets/stylesheets/admin/core.scss +345 -0
  106. data/app/assets/stylesheets/admin/cropper/cropper.min.css +52 -0
  107. data/app/assets/stylesheets/admin/elfinder-manifest.css +6 -0
  108. data/app/assets/stylesheets/admin/elfinder/elfinder-theme.scss +191 -0
  109. data/app/assets/stylesheets/admin/elfinder/elfinder.css +1922 -0
  110. data/app/assets/stylesheets/admin/elfinder/images/arrows-active.png +0 -0
  111. data/app/assets/stylesheets/admin/elfinder/images/arrows-normal.png +0 -0
  112. data/app/assets/stylesheets/admin/elfinder/images/crop.gif +0 -0
  113. data/app/assets/stylesheets/admin/elfinder/images/dialogs.png +0 -0
  114. data/app/assets/stylesheets/admin/elfinder/images/icons-big.png +0 -0
  115. data/app/assets/stylesheets/admin/elfinder/images/icons-small.png +0 -0
  116. data/app/assets/stylesheets/admin/elfinder/images/logo.png +0 -0
  117. data/app/assets/stylesheets/admin/elfinder/images/progress.gif +0 -0
  118. data/app/assets/stylesheets/admin/elfinder/images/quicklook-bg.png +0 -0
  119. data/app/assets/stylesheets/admin/elfinder/images/quicklook-icons.png +0 -0
  120. data/app/assets/stylesheets/admin/elfinder/images/resize.png +0 -0
  121. data/app/assets/stylesheets/admin/elfinder/images/spinner-mini.gif +0 -0
  122. data/app/assets/stylesheets/admin/elfinder/images/toolbar.png +0 -0
  123. data/app/assets/stylesheets/admin/elfinder/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  124. data/app/assets/stylesheets/admin/elfinder/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  125. data/app/assets/stylesheets/admin/elfinder/images/ui-icons_222222_256x240.png +0 -0
  126. data/app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.eot +0 -0
  127. data/app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.svg +1831 -0
  128. data/app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.ttf +0 -0
  129. data/app/assets/stylesheets/admin/fonts/OpenSans-Regular-webfont.woff +0 -0
  130. data/app/assets/stylesheets/admin/fonts/glyphicons-halflings-regular.eot +0 -0
  131. data/app/assets/stylesheets/admin/fonts/glyphicons-halflings-regular.svg +229 -0
  132. data/app/assets/stylesheets/admin/fonts/glyphicons-halflings-regular.ttf +0 -0
  133. data/app/assets/stylesheets/admin/fonts/glyphicons-halflings-regular.woff +0 -0
  134. data/app/assets/stylesheets/admin/form-builder/formbuilder.css +71 -0
  135. data/app/assets/stylesheets/admin/img/bg.png +0 -0
  136. data/app/assets/stylesheets/admin/img/colorpicker/alpha.png +0 -0
  137. data/app/assets/stylesheets/admin/img/colorpicker/hue.png +0 -0
  138. data/app/assets/stylesheets/admin/img/colorpicker/saturation.png +0 -0
  139. data/app/assets/stylesheets/admin/img/girls-1.jpg +0 -0
  140. data/app/assets/stylesheets/admin/img/jquery/resize-icon.png +0 -0
  141. data/app/assets/stylesheets/admin/img/loading.gif +1 -0
  142. data/app/assets/stylesheets/admin/img/logo-small.png +0 -0
  143. data/app/assets/stylesheets/admin/img/logo.png +0 -0
  144. data/app/assets/stylesheets/admin/img/no_image.jpg +0 -0
  145. data/app/assets/stylesheets/admin/img/rormeleon-white.png +0 -0
  146. data/app/assets/stylesheets/admin/img/thumb_no_found.jpg +0 -0
  147. data/app/assets/stylesheets/admin/jquery.tagsinput.css +72 -0
  148. data/app/assets/stylesheets/admin/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  149. data/app/assets/stylesheets/admin/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  150. data/app/assets/stylesheets/admin/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  151. data/app/assets/stylesheets/admin/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  152. data/app/assets/stylesheets/admin/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  153. data/app/assets/stylesheets/admin/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  154. data/app/assets/stylesheets/admin/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  155. data/app/assets/stylesheets/admin/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  156. data/app/assets/stylesheets/admin/jquery/images/ui-icons_222222_256x240.png +0 -0
  157. data/app/assets/stylesheets/admin/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  158. data/app/assets/stylesheets/admin/jquery/images/ui-icons_454545_256x240.png +0 -0
  159. data/app/assets/stylesheets/admin/jquery/images/ui-icons_888888_256x240.png +0 -0
  160. data/app/assets/stylesheets/admin/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  161. data/app/assets/stylesheets/admin/jquery/jquery-ui.scss +1226 -0
  162. data/app/assets/stylesheets/admin/nav-menu.css +54 -0
  163. data/app/assets/stylesheets/admin/nestable/jquery.nestable.css +103 -0
  164. data/app/assets/stylesheets/admin/tageditor/delete.png +0 -0
  165. data/app/assets/stylesheets/admin/tageditor/delete.svg +4 -0
  166. data/app/assets/stylesheets/admin/tageditor/jquery.tag-editor.css +49 -0
  167. data/app/assets/stylesheets/admin/theme-default.scss +8462 -0
  168. data/app/assets/stylesheets/admin/widgets.css.scss +26 -0
  169. data/app/assets/stylesheets/bootstrap.min.css.scss +5 -0
  170. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/css/style.css +84 -0
  171. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/editor_plugin.js +1 -0
  172. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/editor_plugin_src.js +90 -0
  173. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/img/youtube.png +0 -0
  174. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/index.html +86 -0
  175. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/js/scripts.js +1 -0
  176. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/js/scripts_src.js +81 -0
  177. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/en.js +3 -0
  178. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/en_dlg.js +12 -0
  179. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/es.js +3 -0
  180. data/app/assets/stylesheets/tinymce/plugins/youtubeIframe/langs/es_dlg.js +12 -0
  181. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/bootstrap.css +2228 -0
  182. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/content.css +189 -0
  183. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/dialog.css +295 -0
  184. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/butt2.png +0 -0
  185. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/button-bg.png +0 -0
  186. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/buttons.png +0 -0
  187. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/down_arrow.gif +0 -0
  188. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/fade-butt.png +0 -0
  189. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/icons.png +0 -0
  190. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/items.gif +0 -0
  191. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/menu-arrow.png +0 -0
  192. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/menu-check.png +0 -0
  193. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/progress.gif +0 -0
  194. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/tabs.gif +0 -0
  195. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/img/toolbarbg.png +0 -0
  196. data/app/assets/stylesheets/tinymce/themes/advanced/skins/bootstrap/ui.css +1163 -0
  197. data/app/controllers/admin/appearances/nav_menus_controller.rb +120 -0
  198. data/app/controllers/admin/appearances/themes_controller.rb +30 -0
  199. data/app/controllers/admin/appearances/widgets/assign_controller.rb +40 -0
  200. data/app/controllers/admin/appearances/widgets/main_controller.rb +57 -0
  201. data/app/controllers/admin/appearances/widgets/sidebar_controller.rb +59 -0
  202. data/app/controllers/admin/appearances_controller.rb +17 -0
  203. data/app/controllers/admin/categories_controller.rb +77 -0
  204. data/app/controllers/admin/comments_controller.rb +119 -0
  205. data/app/controllers/admin/installers_controller.rb +40 -0
  206. data/app/controllers/admin/media_controller.rb +55 -0
  207. data/app/controllers/admin/plugins_controller.rb +45 -0
  208. data/app/controllers/admin/post_tags_controller.rb +83 -0
  209. data/app/controllers/admin/posts/drafts_controller.rb +76 -0
  210. data/app/controllers/admin/posts_controller.rb +195 -0
  211. data/app/controllers/admin/sessions_controller.rb +144 -0
  212. data/app/controllers/admin/settings/custom_fields_controller.rb +85 -0
  213. data/app/controllers/admin/settings/post_types_controller.rb +73 -0
  214. data/app/controllers/admin/settings/sites_controller.rb +89 -0
  215. data/app/controllers/admin/settings_controller.rb +60 -0
  216. data/app/controllers/admin/user_roles_controller.rb +76 -0
  217. data/app/controllers/admin/users_controller.rb +120 -0
  218. data/app/controllers/admin_controller.rb +56 -0
  219. data/app/controllers/apps/plugins_admin_controller.rb +21 -0
  220. data/app/controllers/apps/plugins_front_controller.rb +21 -0
  221. data/app/controllers/apps/themes_admin_controller.rb +21 -0
  222. data/app/controllers/apps/themes_front_controller.rb +21 -0
  223. data/app/controllers/camaleon_controller.rb +87 -0
  224. data/app/controllers/concerns/frontend_concern.rb +57 -0
  225. data/app/controllers/frontend_controller.rb +240 -0
  226. data/app/decorators/application_decorator.rb +81 -0
  227. data/app/decorators/category_decorator.rb +61 -0
  228. data/app/decorators/custom_field_decorator.rb +31 -0
  229. data/app/decorators/custom_fields_concern.rb +33 -0
  230. data/app/decorators/metas_decorator_methods.rb +19 -0
  231. data/app/decorators/post_comment_decorator.rb +26 -0
  232. data/app/decorators/post_decorator.rb +162 -0
  233. data/app/decorators/post_tag_decorator.rb +36 -0
  234. data/app/decorators/post_type_decorator.rb +56 -0
  235. data/app/decorators/site_decorator.rb +136 -0
  236. data/app/decorators/term_taxonomy_decorator.rb +97 -0
  237. data/app/decorators/theme_decorator.rb +16 -0
  238. data/app/decorators/user_decorator.rb +67 -0
  239. data/app/decorators/widget_decorator.rb +13 -0
  240. data/app/helpers/admin/application_helper.rb +27 -0
  241. data/app/helpers/admin/breadcrumb_helper.rb +37 -0
  242. data/app/helpers/admin/category_helper.rb +22 -0
  243. data/app/helpers/admin/custom_fields_helper.rb +329 -0
  244. data/app/helpers/admin/menus_helper.rb +199 -0
  245. data/app/helpers/admin/post_type_helper.rb +50 -0
  246. data/app/helpers/camaleon_helper.rb +65 -0
  247. data/app/helpers/captcha_helper.rb +90 -0
  248. data/app/helpers/content_helper.rb +35 -0
  249. data/app/helpers/frontend/application_helper.rb +41 -0
  250. data/app/helpers/frontend/nav_menu_helper.rb +177 -0
  251. data/app/helpers/frontend/seo_helper.rb +60 -0
  252. data/app/helpers/frontend/site_helper.rb +60 -0
  253. data/app/helpers/hooks_helper.rb +54 -0
  254. data/app/helpers/html_helper.rb +114 -0
  255. data/app/helpers/plugins_helper.rb +129 -0
  256. data/app/helpers/session_helper.rb +108 -0
  257. data/app/helpers/short_code_helper.rb +82 -0
  258. data/app/helpers/site_helper.rb +124 -0
  259. data/app/helpers/theme_helper.rb +51 -0
  260. data/app/helpers/uploader_helper.rb +144 -0
  261. data/app/helpers/user_roles_helper.rb +14 -0
  262. data/app/mailers/html_mailer.rb +47 -0
  263. data/app/models/ability.rb +113 -0
  264. data/app/models/category.rb +55 -0
  265. data/app/models/concerns/categories_tags_for_posts.rb +140 -0
  266. data/app/models/concerns/custom_fields_read.rb +221 -0
  267. data/app/models/concerns/metas.rb +133 -0
  268. data/app/models/concerns/metas_saved.rb +10 -0
  269. data/app/models/concerns/site_public.rb +23 -0
  270. data/app/models/custom_field.rb +34 -0
  271. data/app/models/custom_field_group.rb +121 -0
  272. data/app/models/custom_fields_relationship.rb +26 -0
  273. data/app/models/meta.rb +16 -0
  274. data/app/models/nav_menu.rb +41 -0
  275. data/app/models/nav_menu_item.rb +36 -0
  276. data/app/models/plugin.rb +57 -0
  277. data/app/models/plugins.rb +13 -0
  278. data/app/models/post.rb +89 -0
  279. data/app/models/post_comment.rb +44 -0
  280. data/app/models/post_default.rb +78 -0
  281. data/app/models/post_relationship.rb +26 -0
  282. data/app/models/post_tag.rb +15 -0
  283. data/app/models/post_type.rb +125 -0
  284. data/app/models/site.rb +337 -0
  285. data/app/models/term_relationship.rb +26 -0
  286. data/app/models/term_taxonomy.rb +156 -0
  287. data/app/models/theme.rb +33 -0
  288. data/app/models/themes.rb +13 -0
  289. data/app/models/user.rb +172 -0
  290. data/app/models/user_relationship.rb +17 -0
  291. data/app/models/user_role.rb +139 -0
  292. data/app/models/widget.rb +13 -0
  293. data/app/models/widget/assigned.rb +34 -0
  294. data/app/models/widget/main.rb +52 -0
  295. data/app/models/widget/sidebar.rb +28 -0
  296. data/app/views/_flash_messages.html.erb +39 -0
  297. data/app/views/admin/appearances/_external_menu.html.erb +16 -0
  298. data/app/views/admin/appearances/menu.html.erb +199 -0
  299. data/app/views/admin/appearances/themes/index.html.erb +68 -0
  300. data/app/views/admin/appearances/themes/preview.html.erb +1 -0
  301. data/app/views/admin/appearances/themes/theme_load_data.html.erb +40 -0
  302. data/app/views/admin/appearances/widgets/assign/_form.html.erb +35 -0
  303. data/app/views/admin/appearances/widgets/main/form.html.erb +27 -0
  304. data/app/views/admin/appearances/widgets/main/index.html.erb +91 -0
  305. data/app/views/admin/appearances/widgets/sidebar/form.html.erb +23 -0
  306. data/app/views/admin/categories/_form.html.erb +42 -0
  307. data/app/views/admin/categories/edit.html.erb +18 -0
  308. data/app/views/admin/categories/index.html.erb +81 -0
  309. data/app/views/admin/comments/form.html.erb +55 -0
  310. data/app/views/admin/comments/index.html.erb +58 -0
  311. data/app/views/admin/comments/reply.html.erb +197 -0
  312. data/app/views/admin/dashboard/index.html.erb +25 -0
  313. data/app/views/admin/installers/form.html.erb +19 -0
  314. data/app/views/admin/installers/welcome.html.erb +8 -0
  315. data/app/views/admin/media/iframe.html.erb +33 -0
  316. data/app/views/admin/media/index.html.erb +31 -0
  317. data/app/views/admin/plugins/_plugins_list.html.erb +59 -0
  318. data/app/views/admin/plugins/index.html.erb +37 -0
  319. data/app/views/admin/post_tags/_form.html.erb +34 -0
  320. data/app/views/admin/post_tags/edit.html.erb +18 -0
  321. data/app/views/admin/post_tags/index.html.erb +79 -0
  322. data/app/views/admin/posts/_filter_posts.html.erb +6 -0
  323. data/app/views/admin/posts/form.html.erb +294 -0
  324. data/app/views/admin/posts/index.html.erb +121 -0
  325. data/app/views/admin/posts/show.html.erb +20 -0
  326. data/app/views/admin/sessions/forgot.html.erb +51 -0
  327. data/app/views/admin/sessions/login.html.erb +39 -0
  328. data/app/views/admin/sessions/register.html.erb +63 -0
  329. data/app/views/admin/settings/custom_fields/_meta_data.html.erb +102 -0
  330. data/app/views/admin/settings/custom_fields/_render.html.erb +73 -0
  331. data/app/views/admin/settings/custom_fields/fields/audio.html.erb +4 -0
  332. data/app/views/admin/settings/custom_fields/fields/checkbox.html.erb +3 -0
  333. data/app/views/admin/settings/custom_fields/fields/checkboxes.html.erb +5 -0
  334. data/app/views/admin/settings/custom_fields/fields/colorpicker.html.erb +7 -0
  335. data/app/views/admin/settings/custom_fields/fields/date.html.erb +7 -0
  336. data/app/views/admin/settings/custom_fields/fields/editor.html.erb +4 -0
  337. data/app/views/admin/settings/custom_fields/fields/email.html.erb +3 -0
  338. data/app/views/admin/settings/custom_fields/fields/field_attrs.html.erb +10 -0
  339. data/app/views/admin/settings/custom_fields/fields/file.html.erb +4 -0
  340. data/app/views/admin/settings/custom_fields/fields/image.html.erb +4 -0
  341. data/app/views/admin/settings/custom_fields/fields/numeric.html.erb +4 -0
  342. data/app/views/admin/settings/custom_fields/fields/phone.html.erb +3 -0
  343. data/app/views/admin/settings/custom_fields/fields/posts.html.erb +17 -0
  344. data/app/views/admin/settings/custom_fields/fields/radio.html.erb +5 -0
  345. data/app/views/admin/settings/custom_fields/fields/select.html.erb +7 -0
  346. data/app/views/admin/settings/custom_fields/fields/select_eval.html.erb +3 -0
  347. data/app/views/admin/settings/custom_fields/fields/text_area.html.erb +3 -0
  348. data/app/views/admin/settings/custom_fields/fields/text_box.html.erb +3 -0
  349. data/app/views/admin/settings/custom_fields/fields/url.html.erb +3 -0
  350. data/app/views/admin/settings/custom_fields/fields/users.html.erb +8 -0
  351. data/app/views/admin/settings/custom_fields/fields/video.html.erb +4 -0
  352. data/app/views/admin/settings/custom_fields/form.html.erb +249 -0
  353. data/app/views/admin/settings/custom_fields/get_items.html.erb +199 -0
  354. data/app/views/admin/settings/custom_fields/index.html.erb +69 -0
  355. data/app/views/admin/settings/languages.html.erb +68 -0
  356. data/app/views/admin/settings/post_types/_form.html.erb +93 -0
  357. data/app/views/admin/settings/post_types/edit.html.erb +18 -0
  358. data/app/views/admin/settings/post_types/index.html.erb +80 -0
  359. data/app/views/admin/settings/site.html.erb +124 -0
  360. data/app/views/admin/settings/sites/form.html.erb +50 -0
  361. data/app/views/admin/settings/sites/index.html.erb +56 -0
  362. data/app/views/admin/taxonomy/_form.html.erb +62 -0
  363. data/app/views/admin/taxonomy/edit.html.erb +18 -0
  364. data/app/views/admin/taxonomy/index.html.erb +79 -0
  365. data/app/views/admin/user_roles/form.html.erb +168 -0
  366. data/app/views/admin/user_roles/index.html.erb +54 -0
  367. data/app/views/admin/users/form.html.erb +305 -0
  368. data/app/views/admin/users/index.html.erb +58 -0
  369. data/app/views/admin/users/profile.html.erb +118 -0
  370. data/app/views/admin/users/profile/_activity.html.erb +180 -0
  371. data/app/views/admin/users/profile/_settings.html.erb +15 -0
  372. data/app/views/admin/users/profile_edit.html.erb +305 -0
  373. data/app/views/default_theme/admin/settings.html.erb +1 -0
  374. data/app/views/default_theme/category.html.erb +25 -0
  375. data/app/views/default_theme/category.rss.builder +23 -0
  376. data/app/views/default_theme/index.html.erb +70 -0
  377. data/app/views/default_theme/index.rss.builder +21 -0
  378. data/app/views/default_theme/layouts/_footer.html.erb +18 -0
  379. data/app/views/default_theme/layouts/_header.html.erb +38 -0
  380. data/app/views/default_theme/layouts/index.html.erb +34 -0
  381. data/app/views/default_theme/partials/_breadcrumb.html.erb +10 -0
  382. data/app/views/default_theme/partials/_categories_list.html.erb +23 -0
  383. data/app/views/default_theme/partials/_comments.html.erb +33 -0
  384. data/app/views/default_theme/partials/_comments_list.html.erb +21 -0
  385. data/app/views/default_theme/partials/_flash_messages.html.erb +26 -0
  386. data/app/views/default_theme/partials/_forms.html.erb +19 -0
  387. data/app/views/default_theme/partials/_post_list_item.html.erb +13 -0
  388. data/app/views/default_theme/partials/_render_custom_field.html.erb +57 -0
  389. data/app/views/default_theme/partials/_search_form.html.erb +10 -0
  390. data/app/views/default_theme/partials/_sidebar.html.erb +56 -0
  391. data/app/views/default_theme/post.html.erb +40 -0
  392. data/app/views/default_theme/post.rss.builder +12 -0
  393. data/app/views/default_theme/post_tag.html.erb +17 -0
  394. data/app/views/default_theme/post_tag.rss.builder +22 -0
  395. data/app/views/default_theme/post_type.html.erb +25 -0
  396. data/app/views/default_theme/post_type.rss.builder +22 -0
  397. data/app/views/default_theme/profile.html.erb +18 -0
  398. data/app/views/default_theme/robots.text.erb +1 -0
  399. data/app/views/default_theme/search.html.erb +13 -0
  400. data/app/views/default_theme/sitemap.html.erb +0 -0
  401. data/app/views/html_mailer/other.html.erb +3 -0
  402. data/app/views/html_mailer/sender.html.erb +25 -0
  403. data/app/views/layouts/admin.html.erb +164 -0
  404. data/app/views/layouts/admin/_ajax.html.erb +2 -0
  405. data/app/views/layouts/admin/_flash_messages.html.erb +49 -0
  406. data/app/views/layouts/admin/_form_error.html.erb +10 -0
  407. data/app/views/layouts/admin/_sidebar.html.erb +31 -0
  408. data/app/views/layouts/admin/installer.html.erb +36 -0
  409. data/app/views/layouts/application.html.erb +15 -0
  410. data/app/views/layouts/login.html.erb +40 -0
  411. data/app/views/shortcode_templates/form.html.erb +1 -0
  412. data/app/views/shortcode_templates/widget.html.erb +11 -0
  413. data/config/initializers/active_record_extension.rb +24 -0
  414. data/config/initializers/assets.rb +17 -0
  415. data/config/initializers/cache_helper.rb +9 -0
  416. data/config/initializers/elfinder.rb +79 -0
  417. data/config/initializers/fix_ssl.rb +14 -0
  418. data/config/initializers/mobu.rb +24 -0
  419. data/config/initializers/page_caching.rb +35 -0
  420. data/config/initializers/rufus_cron.rb +44 -0
  421. data/config/locales/admin/en.yml +561 -0
  422. data/config/locales/admin/es.yml +560 -0
  423. data/config/locales/ar.yml +275 -0
  424. data/config/locales/common.yml +125 -0
  425. data/config/locales/de.yml +210 -0
  426. data/config/locales/en.yml +207 -0
  427. data/config/locales/es.yml +198 -0
  428. data/config/locales/fr.yml +207 -0
  429. data/config/locales/languages.yml +19 -0
  430. data/config/locales/pl.yml +237 -0
  431. data/config/locales/pt.yml +201 -0
  432. data/config/locales/routes.yml +23 -0
  433. data/config/routes.rb +10 -0
  434. data/config/routes/admin.rb +119 -0
  435. data/config/routes/frontend.rb +35 -0
  436. data/config/sitemap.rb +52 -0
  437. data/config/system.json +16 -0
  438. data/db/migrate/20150611161134_post_table_into_utf8.rb +115 -0
  439. data/lib/ca-bundle.crt +3554 -0
  440. data/lib/camaleon_cms.rb +4 -0
  441. data/lib/camaleon_cms/engine.rb +60 -0
  442. data/lib/camaleon_cms/version.rb +3 -0
  443. data/lib/captcha/bumpyroad.ttf +0 -0
  444. data/lib/captcha/captcha_0.jpg +0 -0
  445. data/lib/captcha/captcha_1.jpg +0 -0
  446. data/lib/captcha/captcha_10.jpg +0 -0
  447. data/lib/captcha/captcha_11.jpg +0 -0
  448. data/lib/captcha/captcha_2.jpg +0 -0
  449. data/lib/captcha/captcha_3.jpg +0 -0
  450. data/lib/captcha/captcha_4.jpg +0 -0
  451. data/lib/captcha/captcha_5.jpg +0 -0
  452. data/lib/captcha/captcha_6.jpg +0 -0
  453. data/lib/captcha/captcha_7.jpg +0 -0
  454. data/lib/captcha/captcha_8.jpg +0 -0
  455. data/lib/captcha/captcha_9.jpg +0 -0
  456. data/lib/ext/aes_crypt.rb +246 -0
  457. data/lib/ext/array.rb +54 -0
  458. data/lib/ext/hash.rb +41 -0
  459. data/lib/ext/string.rb +159 -0
  460. data/lib/ext/translator.rb +83 -0
  461. data/lib/generators/camaleon_cms/install_generator.rb +20 -0
  462. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/admin_controller.rb +25 -0
  463. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/assets/docs/images/screenshot_1.jpg +0 -0
  464. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/assets/docs/images/screenshot_2.jpg +0 -0
  465. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/assets/docs/images/screenshot_3.jpg +0 -0
  466. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/assets/docs/index.html +60 -0
  467. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/attack_helper.rb +99 -0
  468. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/config/config.json +31 -0
  469. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/config/custom_models.rb +4 -0
  470. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/config/locales/readme.txt +1 -0
  471. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/config/locales/translation.yml +36 -0
  472. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/config/routes_admin.txt +2 -0
  473. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/models/attack.rb +12 -0
  474. data/lib/generators/camaleon_cms/install_template/apps/plugins/attack/views/admin/settings.html.erb +49 -0
  475. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/admin_forms_controller.rb +93 -0
  476. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/css/admin/form-builder/formbuilder.css +70 -0
  477. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/css/contact-form.css +8 -0
  478. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/css/front/railsform.scss +94 -0
  479. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/css/readme.txt +1 -0
  480. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/images/screenshot_1.jpg +0 -0
  481. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/images/screenshot_2.jpg +0 -0
  482. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/images/screenshot_3.jpg +0 -0
  483. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/images/screenshot_4.jpg +0 -0
  484. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/images/screenshot_5.jpg +0 -0
  485. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/docs/index.html +89 -0
  486. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/js/contact_form.js +2 -0
  487. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/js/form-builder/formbuilder.js +1271 -0
  488. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/js/form-builder/vendor.js +3072 -0
  489. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/assets/js/readme.txt +1 -0
  490. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/config/config.json +35 -0
  491. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/config/locales/readme.txt +1 -0
  492. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/config/locales/translation.yml +210 -0
  493. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/config/routes_admin.txt +4 -0
  494. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/config/routes_front.txt +2 -0
  495. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/contact_form_helper.rb +91 -0
  496. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/contact_form_html_helper.rb +157 -0
  497. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/front_controller.rb +106 -0
  498. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/models/contact_form.rb +26 -0
  499. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/admin_forms/_form.html.erb +33 -0
  500. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/admin_forms/edit.html.erb +375 -0
  501. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/admin_forms/index.html.erb +65 -0
  502. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/admin_forms/manual.html.erb +59 -0
  503. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/admin_forms/responses.html.erb +67 -0
  504. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/forms_shorcode.html.erb +27 -0
  505. data/lib/generators/camaleon_cms/install_template/apps/plugins/contact_form/views/front/index.html.erb +3 -0
  506. data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/admin_controller.rb +35 -0
  507. data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/assets/docs/images/screenshot_1.jpg +0 -0
  508. data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/assets/docs/images/screenshot_2.jpg +0 -0
  509. data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/assets/docs/index.html +58 -0
  510. data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/config/config.json +21 -0
  511. data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/config/locales/readme.txt +1 -0
  512. data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/config/locales/translation.yml +37 -0
  513. data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/config/routes_admin.txt +3 -0
  514. data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/front_cache_helper.rb +154 -0
  515. data/lib/generators/camaleon_cms/install_template/apps/plugins/front_cache/views/admin/settings.html.erb +71 -0
  516. data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/docs/images/screenshot_1.jpg +0 -0
  517. data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/docs/images/screenshot_2.jpg +0 -0
  518. data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/docs/images/screenshot_3.jpg +0 -0
  519. data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/docs/images/screenshot_4.jpg +0 -0
  520. data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/docs/index.html +62 -0
  521. data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/assets/js/form.js +29 -0
  522. data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/config/config.json +24 -0
  523. data/lib/generators/camaleon_cms/install_template/apps/plugins/visibility_post/visibility_post_helper.rb +132 -0
  524. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/css/magnific-ver.css +394 -0
  525. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/css/main.css +15 -0
  526. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/css/style-ver.css.scss +224 -0
  527. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/css/wpbase.css +1 -0
  528. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/images/empe.jpg +0 -0
  529. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/images/image.png +0 -0
  530. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/images/loader.gif +0 -0
  531. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/images/zoom.png +0 -0
  532. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/js/hover.zoom.js +67 -0
  533. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/js/magnific.min.js +3 -0
  534. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/js/main-ver.js +46 -0
  535. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/js/main.js +18 -0
  536. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/assets/js/modernizr.custom.js +4 -0
  537. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/config/config.json +14 -0
  538. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/main_helper.rb +43 -0
  539. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/views/admin/settings.html.erb +4 -0
  540. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/views/index.html.erb +28 -0
  541. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/views/layouts/index.html.erb +85 -0
  542. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/views/partials/readme.txt +1 -0
  543. data/lib/generators/camaleon_cms/install_template/apps/themes/camaleon_first/views/template_sample_page.html.erb +6 -0
  544. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/css/main.css +13 -0
  545. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/css/style.css.scss +3395 -0
  546. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/css/styles.css.scss +175 -0
  547. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/COPYING.txt +9 -0
  548. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/Genericons-Regular.otf +0 -0
  549. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/LICENSE.txt +339 -0
  550. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/README.txt +123 -0
  551. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/font/genericons-regular-webfont.eot +0 -0
  552. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/font/genericons-regular-webfont.svg +135 -0
  553. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/font/genericons-regular-webfont.ttf +0 -0
  554. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/font/genericons-regular-webfont.woff +0 -0
  555. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/genericons/genericons.css +197 -0
  556. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/circle.png +0 -0
  557. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/dotted-line-2x.png +0 -0
  558. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/dotted-line-light-2x.png +0 -0
  559. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/dotted-line-light.png +0 -0
  560. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/dotted-line.png +0 -0
  561. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/circle-thumbnail.png +0 -0
  562. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/circle.png +0 -0
  563. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/diamond-thumbnail.png +0 -0
  564. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/diamond.png +0 -0
  565. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/star-thumbnail.png +0 -0
  566. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/headers/star.png +0 -0
  567. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/image.png +0 -0
  568. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/search-icon-2x.png +0 -0
  569. data/lib/generators/camaleon_cms/install_template/apps/themes/default/assets/images/search-icon.png +0 -0
  570. data/lib/generators/camaleon_cms/install_template/apps/themes/default/config/config.json +19 -0
  571. data/lib/generators/camaleon_cms/install_template/apps/themes/default/default_helper.rb +36 -0
  572. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/admin/settings.html.erb +1 -0
  573. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/category.html.erb +16 -0
  574. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/index.html.erb +35 -0
  575. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/layouts/index.html.erb +83 -0
  576. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/page.html.erb +22 -0
  577. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_breadcrumb.html.erb +10 -0
  578. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_categories_list.html.erb +23 -0
  579. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_comments.html.erb +25 -0
  580. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_comments_list.html.erb +20 -0
  581. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_flash_messages.html.erb +26 -0
  582. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_forms.html.erb +19 -0
  583. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_post_list_item.html.erb +34 -0
  584. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_search_form.html.erb +8 -0
  585. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/partials/_sidebar.html.erb +50 -0
  586. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/post.html.erb +22 -0
  587. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/post_tag.html.erb +14 -0
  588. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/post_type.html.erb +33 -0
  589. data/lib/generators/camaleon_cms/install_template/apps/themes/default/views/search.html.erb +17 -0
  590. data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/css/bootstrap/bootstrap.min.css +6735 -0
  591. data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/css/main.css +13 -0
  592. data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/css/styles.css.scss +175 -0
  593. data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/images/image.png +0 -0
  594. data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/js/main.js +15 -0
  595. data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/js/plugins/bootstrap/bootstrap.min.js +6 -0
  596. data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/js/plugins/jquery/jquery.min.js +4 -0
  597. data/lib/generators/camaleon_cms/install_template/apps/themes/new/assets/js/plugins/modal_elfinder.js +29 -0
  598. data/lib/generators/camaleon_cms/install_template/apps/themes/new/config/config.json +26 -0
  599. data/lib/generators/camaleon_cms/install_template/apps/themes/new/custom_helper.rb +37 -0
  600. data/lib/generators/camaleon_cms/install_template/apps/themes/new/data.json +1 -0
  601. data/lib/generators/camaleon_cms/install_template/apps/themes/new/image.png +0 -0
  602. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/admin/settings.html.erb +1 -0
  603. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/category.html.erb +33 -0
  604. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/index.html.erb +70 -0
  605. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/layouts/_footer.html.erb +18 -0
  606. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/layouts/_header.html.erb +38 -0
  607. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/layouts/index.html.erb +34 -0
  608. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/page.html.erb +24 -0
  609. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_breadcrumb.html.erb +10 -0
  610. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_categories_list.html.erb +23 -0
  611. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_comments.html.erb +32 -0
  612. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_comments_list.html.erb +21 -0
  613. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_flash_messages.html.erb +26 -0
  614. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_forms.html.erb +19 -0
  615. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_post_list_item.html.erb +13 -0
  616. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_search_form.html.erb +10 -0
  617. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/partials/_sidebar.html.erb +60 -0
  618. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/post.html.erb +20 -0
  619. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/post_tag.html.erb +22 -0
  620. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/post_type.html.erb +33 -0
  621. data/lib/generators/camaleon_cms/install_template/apps/themes/new/views/search.html.erb +18 -0
  622. data/lib/generators/camaleon_cms/install_template/plugin_routes.rb +311 -0
  623. data/lib/generators/camaleon_cms/install_template/system.json +11 -0
  624. data/lib/generators/cplugin_generator.rb +80 -0
  625. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/admin_controller.rb +9 -0
  626. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/assets/css/readme.txt +1 -0
  627. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/assets/images/readme.txt +1 -0
  628. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/assets/js/readme.txt +1 -0
  629. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/config.json +18 -0
  630. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/locales/readme.txt +1 -0
  631. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/routes_admin.txt +1 -0
  632. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/config/routes_front.txt +1 -0
  633. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/front_controller.rb +9 -0
  634. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/main_helper.rb +21 -0
  635. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/models/my_plugin.rb +12 -0
  636. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/views/admin/index.html.erb +2 -0
  637. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/views/front/index.html.erb +2 -0
  638. data/lib/generators/cplugin_template/app/apps/plugins/my_plugin/views/layouts/readme.txt +2 -0
  639. data/lib/generators/ctheme_generator.rb +63 -0
  640. data/lib/generators/ctheme_template/app/apps/themes/my_theme/assets/css/main.css +12 -0
  641. data/lib/generators/ctheme_template/app/apps/themes/my_theme/assets/images/image.png +0 -0
  642. data/lib/generators/ctheme_template/app/apps/themes/my_theme/assets/js/main.js +14 -0
  643. data/lib/generators/ctheme_template/app/apps/themes/my_theme/config/config.json +14 -0
  644. data/lib/generators/ctheme_template/app/apps/themes/my_theme/main_helper.rb +25 -0
  645. data/lib/generators/ctheme_template/app/apps/themes/my_theme/views/admin/settings.html.erb +4 -0
  646. data/lib/generators/ctheme_template/app/apps/themes/my_theme/views/index.html.erb +25 -0
  647. data/lib/generators/ctheme_template/app/apps/themes/my_theme/views/layouts/index.html.erb +71 -0
  648. data/lib/generators/ctheme_template/app/apps/themes/my_theme/views/partials/readme.txt +1 -0
  649. data/lib/tasks/camaleon_cms_tasks.rake +4 -0
  650. data/test/camaleon_cms_test.rb +7 -0
  651. data/test/integration/navigation_test.rb +10 -0
  652. data/test/test_helper.rb +19 -0
  653. metadata +699 -0
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Translated default messages for the jQuery validation plugin.
3
+ * Locale: ES (Spanish; Español)
4
+ */
5
+ $.extend($.validator.messages, {
6
+ required: "Este campo es obligatorio.",
7
+ remote: "Por favor, rellena este campo.",
8
+ email: "Por favor, escribe una dirección de correo válida.",
9
+ url: "Por favor, escribe una URL válida.",
10
+ date: "Por favor, escribe una fecha válida.",
11
+ dateISO: "Por favor, escribe una fecha (ISO) válida.",
12
+ number: "Por favor, escribe un número válido.",
13
+ digits: "Por favor, escribe sólo dígitos.",
14
+ creditcard: "Por favor, escribe un número de tarjeta válido.",
15
+ equalTo: "Por favor, escribe el mismo valor de nuevo.",
16
+ extension: "Por favor, escribe un valor con una extensión aceptada.",
17
+ maxlength: $.validator.format("Por favor, no escribas más de {0} caracteres."),
18
+ minlength: $.validator.format("Por favor, no escribas menos de {0} caracteres."),
19
+ rangelength: $.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."),
20
+ range: $.validator.format("Por favor, escribe un valor entre {0} y {1}."),
21
+ max: $.validator.format("Por favor, escribe un valor menor o igual a {0}."),
22
+ min: $.validator.format("Por favor, escribe un valor mayor o igual a {0}."),
23
+ nifES: "Por favor, escribe un NIF válido.",
24
+ nieES: "Por favor, escribe un NIE válido.",
25
+ cifES: "Por favor, escribe un CIF válido.",
26
+ file_format: "Formato de archivo no permitido."
27
+ });
@@ -0,0 +1,1250 @@
1
+ (function() {
2
+ rivets.binders.input = {
3
+ publishes: true,
4
+ routine: rivets.binders.value.routine,
5
+ bind: function(el) {
6
+ return $(el).bind('input.rivets', this.publish);
7
+ },
8
+ unbind: function(el) {
9
+ return $(el).unbind('input.rivets');
10
+ }
11
+ };
12
+
13
+ rivets.configure({
14
+ prefix: "rv",
15
+ adapter: {
16
+ subscribe: function(obj, keypath, callback) {
17
+ callback.wrapped = function(m, v) {
18
+ return callback(v);
19
+ };
20
+ return obj.on('change:' + keypath, callback.wrapped);
21
+ },
22
+ unsubscribe: function(obj, keypath, callback) {
23
+ return obj.off('change:' + keypath, callback.wrapped);
24
+ },
25
+ read: function(obj, keypath) {
26
+ if (keypath === "cid") {
27
+ return obj.cid;
28
+ }
29
+ return obj.get(keypath);
30
+ },
31
+ publish: function(obj, keypath, value) {
32
+ if (obj.cid) {
33
+ return obj.set(keypath, value);
34
+ } else {
35
+ return obj[keypath] = value;
36
+ }
37
+ }
38
+ }
39
+ });
40
+
41
+ }).call(this);
42
+
43
+ (function() {
44
+ var BuilderView, EditFieldView, Formbuilder, FormbuilderCollection, FormbuilderModel, ViewFieldView, _ref, _ref1, _ref2, _ref3, _ref4,
45
+ __hasProp = {}.hasOwnProperty,
46
+ __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
47
+
48
+ FormbuilderModel = (function(_super) {
49
+ __extends(FormbuilderModel, _super);
50
+
51
+ function FormbuilderModel() {
52
+ _ref = FormbuilderModel.__super__.constructor.apply(this, arguments);
53
+ return _ref;
54
+ }
55
+
56
+ FormbuilderModel.prototype.sync = function() {};
57
+
58
+ FormbuilderModel.prototype.indexInDOM = function() {
59
+ var $wrapper,
60
+ _this = this;
61
+ $wrapper = $(".fb-field-wrapper").filter((function(_, el) {
62
+ return $(el).data('cid') === _this.cid;
63
+ }));
64
+ return $(".fb-field-wrapper").index($wrapper);
65
+ };
66
+
67
+ FormbuilderModel.prototype.is_input = function() {
68
+ return Formbuilder.inputFields[this.get(Formbuilder.options.mappings.FIELD_TYPE)] != null;
69
+ };
70
+
71
+ return FormbuilderModel;
72
+
73
+ })(Backbone.DeepModel);
74
+
75
+ FormbuilderCollection = (function(_super) {
76
+ __extends(FormbuilderCollection, _super);
77
+
78
+ function FormbuilderCollection() {
79
+ _ref1 = FormbuilderCollection.__super__.constructor.apply(this, arguments);
80
+ return _ref1;
81
+ }
82
+
83
+ FormbuilderCollection.prototype.initialize = function() {
84
+ return this.on('add', this.copyCidToModel);
85
+ };
86
+
87
+ FormbuilderCollection.prototype.model = FormbuilderModel;
88
+
89
+ FormbuilderCollection.prototype.comparator = function(model) {
90
+ return model.indexInDOM();
91
+ };
92
+
93
+ FormbuilderCollection.prototype.copyCidToModel = function(model) {
94
+ return model.attributes.cid = model.cid;
95
+ };
96
+
97
+ return FormbuilderCollection;
98
+
99
+ })(Backbone.Collection);
100
+
101
+ ViewFieldView = (function(_super) {
102
+ __extends(ViewFieldView, _super);
103
+
104
+ function ViewFieldView() {
105
+ _ref2 = ViewFieldView.__super__.constructor.apply(this, arguments);
106
+ return _ref2;
107
+ }
108
+
109
+ ViewFieldView.prototype.className = "fb-field-wrapper";
110
+
111
+ ViewFieldView.prototype.events = {
112
+ 'click .subtemplate-wrapper': 'focusEditView',
113
+ 'click .js-duplicate': 'duplicate',
114
+ 'click .js-clear': 'clear'
115
+ };
116
+
117
+ ViewFieldView.prototype.initialize = function(options) {
118
+ this.parentView = options.parentView;
119
+ this.listenTo(this.model, "change", this.render);
120
+ return this.listenTo(this.model, "destroy", this.remove);
121
+ };
122
+
123
+ ViewFieldView.prototype.render = function() {
124
+ this.$el.addClass('response-field-' + this.model.get(Formbuilder.options.mappings.FIELD_TYPE)).data('cid', this.model.cid).html(Formbuilder.templates["view/base" + (!this.model.is_input() ? '_non_input' : '')]({
125
+ rf: this.model
126
+ }));
127
+ return this;
128
+ };
129
+
130
+ ViewFieldView.prototype.focusEditView = function() {
131
+ return this.parentView.createAndShowEditView(this.model);
132
+ };
133
+
134
+ ViewFieldView.prototype.clear = function(e) {
135
+ var cb, x,
136
+ _this = this;
137
+ e.preventDefault();
138
+ e.stopPropagation();
139
+ cb = function() {
140
+ _this.parentView.handleFormUpdate();
141
+ return _this.model.destroy();
142
+ };
143
+ x = Formbuilder.options.CLEAR_FIELD_CONFIRM;
144
+ switch (typeof x) {
145
+ case 'string':
146
+ if (confirm(x)) {
147
+ return cb();
148
+ }
149
+ break;
150
+ case 'function':
151
+ return x(cb);
152
+ default:
153
+ return cb();
154
+ }
155
+ };
156
+
157
+ ViewFieldView.prototype.duplicate = function() {
158
+ var attrs;
159
+ attrs = _.clone(this.model.attributes);
160
+ delete attrs['id'];
161
+ attrs['label'] += ' Copy';
162
+ return this.parentView.createField(attrs, {
163
+ position: this.model.indexInDOM() + 1
164
+ });
165
+ };
166
+
167
+ return ViewFieldView;
168
+
169
+ })(Backbone.View);
170
+
171
+ EditFieldView = (function(_super) {
172
+ __extends(EditFieldView, _super);
173
+
174
+ function EditFieldView() {
175
+ _ref3 = EditFieldView.__super__.constructor.apply(this, arguments);
176
+ return _ref3;
177
+ }
178
+
179
+ EditFieldView.prototype.className = "edit-response-field";
180
+
181
+ EditFieldView.prototype.events = {
182
+ 'click .js-add-option': 'addOption',
183
+ 'click .js-remove-option': 'removeOption',
184
+ 'click .js-default-updated': 'defaultUpdated',
185
+ 'input .option-label-input': 'forceRender'
186
+ };
187
+
188
+ EditFieldView.prototype.initialize = function(options) {
189
+ this.parentView = options.parentView;
190
+ return this.listenTo(this.model, "destroy", this.remove);
191
+ };
192
+
193
+ EditFieldView.prototype.render = function() { console.log(this.model);
194
+
195
+ this.$el.html(Formbuilder.templates["edit/base" + (!this.model.is_input() ? '_non_input' : '')]({
196
+ rf: this.model
197
+ }));
198
+ this.$el.find('.fields-cid').html(this.model.attributes.cid);
199
+
200
+ rivets.bind(this.$el, {
201
+ model: this.model
202
+ });
203
+ return this;
204
+ };
205
+
206
+ EditFieldView.prototype.remove = function() {
207
+ this.parentView.editView = void 0;
208
+ this.parentView.$el.find("[data-target=\"#addField\"]").click();
209
+ return EditFieldView.__super__.remove.apply(this, arguments);
210
+ };
211
+
212
+ EditFieldView.prototype.addOption = function(e) {
213
+ var $el, i, newOption, options;
214
+ $el = $(e.currentTarget);
215
+ i = this.$el.find('.option').index($el.closest('.option'));
216
+ options = this.model.get(Formbuilder.options.mappings.OPTIONS) || [];
217
+ newOption = {
218
+ label: "",
219
+ checked: false
220
+ };
221
+ if (i > -1) {
222
+ options.splice(i + 1, 0, newOption);
223
+ } else {
224
+ options.push(newOption);
225
+ }
226
+ this.model.set(Formbuilder.options.mappings.OPTIONS, options);
227
+ this.model.trigger("change:" + Formbuilder.options.mappings.OPTIONS);
228
+ return this.forceRender();
229
+ };
230
+
231
+ EditFieldView.prototype.removeOption = function(e) {
232
+ var $el, index, options;
233
+ $el = $(e.currentTarget);
234
+ index = this.$el.find(".js-remove-option").index($el);
235
+ options = this.model.get(Formbuilder.options.mappings.OPTIONS);
236
+ options.splice(index, 1);
237
+ this.model.set(Formbuilder.options.mappings.OPTIONS, options);
238
+ this.model.trigger("change:" + Formbuilder.options.mappings.OPTIONS);
239
+ return this.forceRender();
240
+ };
241
+
242
+ EditFieldView.prototype.defaultUpdated = function(e) {
243
+ var $el;
244
+ $el = $(e.currentTarget);
245
+ if (this.model.get(Formbuilder.options.mappings.FIELD_TYPE) !== 'checkboxes') {
246
+ this.$el.find(".js-default-updated").not($el).attr('checked', false).trigger('change');
247
+ }
248
+ return this.forceRender();
249
+ };
250
+
251
+ EditFieldView.prototype.forceRender = function() {
252
+ return this.model.trigger('change');
253
+ };
254
+
255
+ return EditFieldView;
256
+
257
+ })(Backbone.View);
258
+
259
+ BuilderView = (function(_super) {
260
+ __extends(BuilderView, _super);
261
+
262
+ function BuilderView() {
263
+ _ref4 = BuilderView.__super__.constructor.apply(this, arguments);
264
+ return _ref4;
265
+ }
266
+
267
+ BuilderView.prototype.SUBVIEWS = [];
268
+
269
+ BuilderView.prototype.events = {
270
+ 'click .js-save-form': 'saveForm',
271
+ 'click .fb-tabs a': 'showTab',
272
+ 'click .fb-add-field-types a': 'addField',
273
+ 'mouseover .fb-add-field-types': 'lockLeftWrapper',
274
+ 'mouseout .fb-add-field-types': 'unlockLeftWrapper'
275
+ };
276
+
277
+ BuilderView.prototype.initialize = function(options) {
278
+ var selector;
279
+ selector = options.selector, this.formBuilder = options.formBuilder, this.bootstrapData = options.bootstrapData;
280
+ if (selector != null) {
281
+ this.setElement($(selector));
282
+ }
283
+ this.collection = new FormbuilderCollection;
284
+ this.collection.bind('add', this.addOne, this);
285
+ this.collection.bind('reset', this.reset, this);
286
+ this.collection.bind('change', this.handleFormUpdate, this);
287
+ this.collection.bind('destroy add reset', this.hideShowNoResponseFields, this);
288
+ this.collection.bind('destroy', this.ensureEditViewScrolled, this);
289
+ this.render();
290
+ this.collection.reset(this.bootstrapData);
291
+ return this.bindSaveEvent();
292
+ };
293
+
294
+ BuilderView.prototype.bindSaveEvent = function() {
295
+ var _this = this;
296
+ this.formSaved = true;
297
+ this.saveFormButton = this.$el.find(".js-save-form");
298
+ this.saveFormButton.attr('disabled', true).text(Formbuilder.options.dict.ALL_CHANGES_SAVED);
299
+ if (!!Formbuilder.options.AUTOSAVE) {
300
+ setInterval(function() {
301
+ return _this.saveForm.call(_this);
302
+ }, 5000);
303
+ }
304
+ return $(window).bind('beforeunload', function() {
305
+ if (_this.formSaved) {
306
+ return void 0;
307
+ } else {
308
+ return Formbuilder.options.dict.UNSAVED_CHANGES;
309
+ }
310
+ });
311
+ };
312
+
313
+ BuilderView.prototype.reset = function() {
314
+ this.$responseFields.html('');
315
+ return this.addAll();
316
+ };
317
+
318
+ BuilderView.prototype.render = function() {
319
+ var subview, _i, _len, _ref5;
320
+ this.$el.html(Formbuilder.templates['page']());
321
+ this.$fbLeft = this.$el.find('.fb-left');
322
+ this.$responseFields = this.$el.find('.fb-response-fields');
323
+ this.bindWindowScrollEvent();
324
+ this.hideShowNoResponseFields();
325
+ _ref5 = this.SUBVIEWS;
326
+ for (_i = 0, _len = _ref5.length; _i < _len; _i++) {
327
+ subview = _ref5[_i];
328
+ new subview({
329
+ parentView: this
330
+ }).render();
331
+ }
332
+ return this;
333
+ };
334
+
335
+ BuilderView.prototype.bindWindowScrollEvent = function() {
336
+ var _this = this;
337
+ return $(window).on('scroll', function() {
338
+ var maxMargin, newMargin;
339
+ if (_this.$fbLeft.data('locked') === true) {
340
+ return;
341
+ }
342
+ newMargin = Math.max(0, $(window).scrollTop() - _this.$el.offset().top);
343
+ maxMargin = _this.$responseFields.height();
344
+ return _this.$fbLeft.css({
345
+ //'margin-top': Math.min(maxMargin, newMargin)
346
+ });
347
+ });
348
+ };
349
+
350
+ BuilderView.prototype.showTab = function(e) {
351
+ var $el, first_model, target;
352
+ $el = $(e.currentTarget);
353
+ target = $el.data('target');
354
+ $el.closest('li').addClass('active').siblings('li').removeClass('active');
355
+ $(target).addClass('active').siblings('.fb-tab-pane').removeClass('active');
356
+ if (target !== '#editField') {
357
+ this.unlockLeftWrapper();
358
+ }
359
+ if (target === '#editField' && !this.editView && (first_model = this.collection.models[0])) {
360
+ return this.createAndShowEditView(first_model);
361
+ }
362
+ };
363
+
364
+ BuilderView.prototype.addOne = function(responseField, _, options) {
365
+ var $replacePosition, view;
366
+ view = new ViewFieldView({
367
+ model: responseField,
368
+ parentView: this
369
+ });
370
+ if (options.$replaceEl != null) {
371
+ return options.$replaceEl.replaceWith(view.render().el);
372
+ } else if ((options.position == null) || options.position === -1) {
373
+ return this.$responseFields.append(view.render().el);
374
+ } else if (options.position === 0) {
375
+ return this.$responseFields.prepend(view.render().el);
376
+ } else if (($replacePosition = this.$responseFields.find(".fb-field-wrapper").eq(options.position))[0]) {
377
+ return $replacePosition.before(view.render().el);
378
+ } else {
379
+ return this.$responseFields.append(view.render().el);
380
+ }
381
+ };
382
+
383
+ BuilderView.prototype.setSortable = function() {
384
+ var _this = this;
385
+ if (this.$responseFields.hasClass('ui-sortable')) {
386
+ this.$responseFields.sortable('destroy');
387
+ }
388
+ this.$responseFields.sortable({
389
+ forcePlaceholderSize: true,
390
+ placeholder: 'sortable-placeholder',
391
+ stop: function(e, ui) {
392
+ var rf;
393
+ if (ui.item.data('field-type')) {
394
+ rf = _this.collection.create(Formbuilder.helpers.defaultFieldAttrs(ui.item.data('field-type')), {
395
+ $replaceEl: ui.item
396
+ });
397
+ _this.createAndShowEditView(rf);
398
+ }
399
+ _this.handleFormUpdate();
400
+ return true;
401
+ },
402
+ update: function(e, ui) {
403
+ if (!ui.item.data('field-type')) {
404
+ return _this.ensureEditViewScrolled();
405
+ }
406
+ }
407
+ });
408
+ return this.setDraggable();
409
+ };
410
+
411
+ BuilderView.prototype.setDraggable = function() {
412
+ var $addFieldButtons,
413
+ _this = this;
414
+ $addFieldButtons = this.$el.find("[data-field-type]");
415
+ return $addFieldButtons.draggable({
416
+ connectToSortable: this.$responseFields,
417
+ helper: function() {
418
+ var $helper;
419
+ $helper = $("<div class='response-field-draggable-helper' />");
420
+ $helper.css({
421
+ width: _this.$responseFields.width(),
422
+ height: '80px'
423
+ });
424
+ return $helper;
425
+ }
426
+ });
427
+ };
428
+
429
+ BuilderView.prototype.addAll = function() {
430
+ this.collection.each(this.addOne, this);
431
+ return this.setSortable();
432
+ };
433
+
434
+ BuilderView.prototype.hideShowNoResponseFields = function() {
435
+ return this.$el.find(".fb-no-response-fields")[this.collection.length > 0 ? 'hide' : 'show']();
436
+ };
437
+
438
+ BuilderView.prototype.addField = function(e) {
439
+ var field_type;
440
+ field_type = $(e.currentTarget).data('field-type');
441
+ return this.createField(Formbuilder.helpers.defaultFieldAttrs(field_type));
442
+ };
443
+
444
+ BuilderView.prototype.createField = function(attrs, options) {
445
+ var rf;
446
+ rf = this.collection.create(attrs, options);
447
+ this.createAndShowEditView(rf);
448
+ return this.handleFormUpdate();
449
+ };
450
+
451
+ BuilderView.prototype.createAndShowEditView = function(model) {
452
+ var $newEditEl, $responseFieldEl;
453
+ $responseFieldEl = this.$el.find(".fb-field-wrapper").filter(function() {
454
+ return $(this).data('cid') === model.cid;
455
+ });
456
+ $responseFieldEl.addClass('editing').siblings('.fb-field-wrapper').removeClass('editing');
457
+ if (this.editView) {
458
+ if (this.editView.model.cid === model.cid) {
459
+ this.$el.find(".fb-tabs a[data-target=\"#editField\"]").click();
460
+ this.scrollLeftWrapper($responseFieldEl);
461
+ return;
462
+ }
463
+ this.editView.remove();
464
+ }
465
+ this.editView = new EditFieldView({
466
+ model: model,
467
+ parentView: this
468
+ });
469
+ $newEditEl = this.editView.render().$el;
470
+ this.$el.find(".fb-edit-field-wrapper").html($newEditEl);
471
+ this.$el.find(".fb-tabs a[data-target=\"#editField\"]").click();
472
+ this.scrollLeftWrapper($responseFieldEl);
473
+ return this;
474
+ };
475
+
476
+ BuilderView.prototype.ensureEditViewScrolled = function() {
477
+ if (!this.editView) {
478
+ return;
479
+ }
480
+ return this.scrollLeftWrapper($(".fb-field-wrapper.editing"));
481
+ };
482
+
483
+ BuilderView.prototype.scrollLeftWrapper = function($responseFieldEl) {
484
+ var _this = this;
485
+ this.unlockLeftWrapper();
486
+ if (!$responseFieldEl[0]) {
487
+ return;
488
+ }
489
+ return $.scrollWindowTo((this.$el.offset().top + $responseFieldEl.offset().top) - this.$responseFields.offset().top, 200, function() {
490
+ return _this.lockLeftWrapper();
491
+ });
492
+ };
493
+
494
+ BuilderView.prototype.lockLeftWrapper = function() {
495
+ return this.$fbLeft.data('locked', true);
496
+ };
497
+
498
+ BuilderView.prototype.unlockLeftWrapper = function() {
499
+ return this.$fbLeft.data('locked', false);
500
+ };
501
+
502
+ BuilderView.prototype.handleFormUpdate = function() {
503
+ if (this.updatingBatch) {
504
+ return;
505
+ }
506
+ this.formSaved = false;
507
+ return this.saveFormButton.removeAttr('disabled').text(Formbuilder.options.dict.SAVE_FORM);
508
+ };
509
+
510
+ BuilderView.prototype.saveForm = function(e) {
511
+ var payload;
512
+ if (this.formSaved) {
513
+ return;
514
+ }
515
+ this.formSaved = true;
516
+ this.saveFormButton.attr('disabled', true).text(Formbuilder.options.dict.ALL_CHANGES_SAVED);
517
+ this.collection.sort();
518
+ payload = JSON.stringify({
519
+ fields: this.collection.toJSON()
520
+ });
521
+ if (Formbuilder.options.HTTP_ENDPOINT) {
522
+ this.doAjaxSave(payload);
523
+ }
524
+ return this.formBuilder.trigger('save', payload);
525
+ };
526
+
527
+ BuilderView.prototype.doAjaxSave = function(payload) {
528
+ var _this = this;
529
+ return $.ajax({
530
+ url: Formbuilder.options.HTTP_ENDPOINT,
531
+ type: Formbuilder.options.HTTP_METHOD,
532
+ data: payload,
533
+ contentType: "application/json",
534
+ success: function(data) {
535
+ var datum, _i, _len, _ref5;
536
+ _this.updatingBatch = true;
537
+ for (_i = 0, _len = data.length; _i < _len; _i++) {
538
+ datum = data[_i];
539
+ if ((_ref5 = _this.collection.get(datum.cid)) != null) {
540
+ _ref5.set({
541
+ id: datum.id
542
+ });
543
+ }
544
+ _this.collection.trigger('sync');
545
+ }
546
+ return _this.updatingBatch = void 0;
547
+ }
548
+ });
549
+ };
550
+
551
+ return BuilderView;
552
+
553
+ })(Backbone.View);
554
+
555
+ Formbuilder = (function() {
556
+ Formbuilder.helpers = {
557
+ defaultFieldAttrs: function(field_type) {
558
+ var attrs, _base;
559
+ attrs = {};
560
+ attrs[Formbuilder.options.mappings.LABEL] = 'Untitled';
561
+ attrs[Formbuilder.options.mappings.FIELD_TYPE] = field_type;
562
+ attrs[Formbuilder.options.mappings.REQUIRED] = true;
563
+ attrs['field_options'] = {};
564
+ return (typeof (_base = Formbuilder.fields[field_type]).defaultAttributes === "function" ? _base.defaultAttributes(attrs) : void 0) || attrs;
565
+ },
566
+ simple_format: function(x) {
567
+ return x != null ? x.replace(/\n/g, '<br />') : void 0;
568
+ }
569
+ };
570
+
571
+ Formbuilder.options = {
572
+ BUTTON_CLASS: 'btn btn-default',//'fb-button',
573
+ HTTP_ENDPOINT: '',
574
+ HTTP_METHOD: 'POST',
575
+ AUTOSAVE: true,
576
+ CLEAR_FIELD_CONFIRM: false,
577
+ mappings: {
578
+ FIELD_CLASS: 'field_options.field_class',
579
+ SIZE: 'field_options.size',
580
+ UNITS: 'field_options.units',
581
+ LABEL: 'label',
582
+ FIELD_TYPE: 'field_type',
583
+ REQUIRED: 'required',
584
+ ADMIN_ONLY: 'admin_only',
585
+ OPTIONS: 'field_options.options',
586
+ DESCRIPTION: 'field_options.description',
587
+ INCLUDE_OTHER: 'field_options.include_other_option',
588
+ INCLUDE_BLANK: 'field_options.include_blank_option',
589
+ INTEGER_ONLY: 'field_options.integer_only',
590
+ MIN: 'field_options.min',
591
+ MAX: 'field_options.max',
592
+ MINLENGTH: 'field_options.minlength',
593
+ MAXLENGTH: 'field_options.maxlength',
594
+ LENGTH_UNITS: 'field_options.min_max_length_units'
595
+ },
596
+ dict: {
597
+ ALL_CHANGES_SAVED: 'All changes saved',
598
+ SAVE_FORM: 'Save form',
599
+ UNSAVED_CHANGES: 'You have unsaved changes. If you leave this page, you will lose those changes!'
600
+ }
601
+ };
602
+
603
+ Formbuilder.fields = {};
604
+
605
+ Formbuilder.inputFields = {};
606
+
607
+ Formbuilder.nonInputFields = {};
608
+
609
+ Formbuilder.registerField = function(name, opts) {
610
+ var x, _i, _len, _ref5;
611
+ _ref5 = ['view', 'edit'];
612
+ for (_i = 0, _len = _ref5.length; _i < _len; _i++) {
613
+ x = _ref5[_i];
614
+ opts[x] = _.template(opts[x]);
615
+ }
616
+ opts.field_type = name;
617
+ Formbuilder.fields[name] = opts;
618
+ if (opts.type === 'non_input') {
619
+ return Formbuilder.nonInputFields[name] = opts;
620
+ } else {
621
+ return Formbuilder.inputFields[name] = opts;
622
+ }
623
+ };
624
+
625
+ function Formbuilder(opts) {
626
+ var args;
627
+ if (opts == null) {
628
+ opts = {};
629
+ }
630
+ _.extend(this, Backbone.Events);
631
+ args = _.extend(opts, {
632
+ formBuilder: this
633
+ });
634
+ this.mainView = new BuilderView(args);
635
+ }
636
+
637
+ return Formbuilder;
638
+
639
+ })();
640
+
641
+ window.Formbuilder = Formbuilder;
642
+
643
+ if (typeof module !== "undefined" && module !== null) {
644
+ module.exports = Formbuilder;
645
+ } else {
646
+ window.Formbuilder = Formbuilder;
647
+ }
648
+
649
+ }).call(this);
650
+
651
+ /*(function() {
652
+ Formbuilder.registerField('address', {
653
+ order: 50,
654
+ view: "<div class='input-line'>\n <span class='street'>\n <input type='text' />\n <label>Address</label>\n </span>\n</div>\n\n<div class='input-line'>\n <span class='city'>\n <input type='text' />\n <label>City</label>\n </span>\n\n <span class='state'>\n <input type='text' />\n <label>State / Province / Region</label>\n </span>\n</div>\n\n<div class='input-line'>\n <span class='zip'>\n <input type='text' />\n <label>Zipcode</label>\n </span>\n\n <span class='country'>\n <select><option>United States</option></select>\n <label>Country</label>\n </span>\n</div>",
655
+ edit: "",
656
+ addButton: "<span class=\"symbol\"><span class=\"fa fa-home\"></span></span> Address"
657
+ });
658
+
659
+ }).call(this);*/
660
+
661
+ (function() {
662
+ Formbuilder.registerField('checkboxes', {
663
+ order: 10,
664
+ view: "<% for (i in (rf.get(Formbuilder.options.mappings.OPTIONS) || [])) { %>\n <div>\n <label class='fb-option'>\n <input class='rf-clase-<%= rf.get(Formbuilder.options.mappings.FIELD_CLASS) %>' type='checkbox' <%= rf.get(Formbuilder.options.mappings.OPTIONS)[i].checked && 'checked' %> onclick=\"javascript: return false;\" />\n <%= rf.get(Formbuilder.options.mappings.OPTIONS)[i].label %>\n </label>\n </div>\n<% } %>\n\n<% if (rf.get(Formbuilder.options.mappings.INCLUDE_OTHER)) { %>\n <div class='other-option'>\n <label class='fb-option'>\n <input type='checkbox' />\n Other\n </label>\n\n <input type='text' />\n </div>\n<% } %>",
665
+ //edit: "<%= Formbuilder.templates['edit/class']() %>\n<%= Formbuilder.templates['edit/options']({ includeOther: false }) %>",
666
+ edit: "<%= Formbuilder.templates['edit/class']() %>\n<%= Formbuilder.templates['edit/options']() %>",
667
+ addButton: "<span class=\"symbol\"><span class=\"fa fa-square-o\"></span></span> Checkboxes",
668
+ defaultAttributes: function(attrs) {
669
+ attrs.field_options.options = [
670
+ {
671
+ label: "",
672
+ checked: false
673
+ }, {
674
+ label: "",
675
+ checked: false
676
+ }
677
+ ];
678
+ attrs.field_options.field_class = 'default';
679
+ return attrs;
680
+ }
681
+ });
682
+
683
+ }).call(this);
684
+
685
+ /*(function() {
686
+ Formbuilder.registerField('date', {
687
+ order: 20,
688
+ view: "<div class='input-line'>\n <span class='month'>\n <input type=\"text\" />\n <label>MM</label>\n </span>\n\n <span class='above-line'>/</span>\n\n <span class='day'>\n <input type=\"text\" />\n <label>DD</label>\n </span>\n\n <span class='above-line'>/</span>\n\n <span class='year'>\n <input type=\"text\" />\n <label>YYYY</label>\n </span>\n</div>",
689
+ edit: "",
690
+ addButton: "<span class=\"symbol\"><span class=\"fa fa-calendar\"></span></span> Date"
691
+ });
692
+
693
+ }).call(this); */
694
+
695
+ (function() {
696
+ Formbuilder.registerField('dropdown', {
697
+ order: 24,
698
+ view: "<select class='rf-clase-<%= rf.get(Formbuilder.options.mappings.FIELD_CLASS) %>'>\n <% if (rf.get(Formbuilder.options.mappings.INCLUDE_BLANK)) { %>\n <option value=''></option>\n <% } %>\n\n <% for (i in (rf.get(Formbuilder.options.mappings.OPTIONS) || [])) { %>\n <option <%= rf.get(Formbuilder.options.mappings.OPTIONS)[i].checked && 'selected' %>>\n <%= rf.get(Formbuilder.options.mappings.OPTIONS)[i].label %>\n </option>\n <% } %>\n</select>",
699
+ //edit: "<%= Formbuilder.templates['edit/class']() %>\n<%= Formbuilder.templates['edit/options']({ includeBlank: true }) %>",
700
+ edit: "<%= Formbuilder.templates['edit/class']() %>\n<%= Formbuilder.templates['edit/options']() %>",
701
+ addButton: "<span class=\"symbol\"><span class=\"fa fa-caret-down\"></span></span> Dropdown",
702
+ defaultAttributes: function(attrs) {
703
+ attrs.field_options.options = [
704
+ {
705
+ label: "",
706
+ checked: false
707
+ }, {
708
+ label: "",
709
+ checked: false
710
+ }
711
+ ];
712
+ attrs.field_options.include_blank_option = false;
713
+ attrs.field_options.field_class = 'default';
714
+ return attrs;
715
+ }
716
+ });
717
+
718
+ }).call(this);
719
+
720
+ (function() {
721
+ Formbuilder.registerField('email', {
722
+ order: 40,
723
+ view: "<input type='text' class='rf-size-<%= rf.get(Formbuilder.options.mappings.SIZE) %> rf-clase-<%= rf.get(Formbuilder.options.mappings.FIELD_CLASS) %>' />",
724
+ edit: "<%= Formbuilder.templates['edit/class']() %>\n",
725
+ addButton: "<span class=\"symbol\"><span class=\"fa fa-envelope-o\"></span></span> Email",
726
+ defaultAttributes: function(attrs) {
727
+ attrs.field_options.field_class = 'default';
728
+ return attrs;
729
+ }
730
+ });
731
+
732
+ }).call(this);
733
+
734
+ (function() {
735
+
736
+
737
+ }).call(this);
738
+
739
+ /*(function() {
740
+ Formbuilder.registerField('number', {
741
+ order: 30,
742
+ view: "<input type='text' />\n<% if (units = rf.get(Formbuilder.options.mappings.UNITS)) { %>\n <%= units %>\n<% } %>",
743
+ edit: "<%= Formbuilder.templates['edit/min_max']() %>\n<%= Formbuilder.templates['edit/units']() %>\n<%= Formbuilder.templates['edit/integer_only']() %>",
744
+ addButton: "<span class=\"symbol\"><span class=\"fa fa-number\">123</span></span> Number"
745
+ });
746
+
747
+ }).call(this);*/
748
+
749
+ (function() {
750
+ Formbuilder.registerField('paragraph', {
751
+ cid: '',
752
+ order: 5,
753
+ view: "<textarea class='rf-size-<%= rf.get(Formbuilder.options.mappings.SIZE) %> rf-clase-<%= rf.get(Formbuilder.options.mappings.FIELD_CLASS) %> '></textarea>",
754
+ //edit: "<%= Formbuilder.templates['edit/class']() %>\n<%= Formbuilder.templates['edit/size']() %>\n<%= Formbuilder.templates['edit/min_max_length']() %>",
755
+ edit: "<%= Formbuilder.templates['edit/class']() %>",
756
+ addButton: "<span class=\"symbol\">&#182;</span> Textarea",
757
+ defaultAttributes: function(attrs) {
758
+ attrs.field_options.size = 'small';
759
+ attrs.field_options.field_class = 'default';
760
+ return attrs;
761
+ }
762
+ });
763
+
764
+ }).call(this);
765
+
766
+ /*(function() {
767
+ Formbuilder.registerField('price', {
768
+ order: 45,
769
+ view: "<div class='input-line'>\n <span class='above-line'>$</span>\n <span class='dolars'>\n <input type='text' />\n <label>Dollars</label>\n </span>\n <span class='above-line'>.</span>\n <span class='cents'>\n <input type='text' />\n <label>Cents</label>\n </span>\n</div>",
770
+ edit: "",
771
+ addButton: "<span class=\"symbol\"><span class=\"fa fa-usd\"></span></span> Price"
772
+ });
773
+
774
+ }).call(this);*/
775
+
776
+ (function() {
777
+ Formbuilder.registerField('radio', {
778
+ order: 15,
779
+ view: "<% for (i in (rf.get(Formbuilder.options.mappings.OPTIONS) || [])) { %>\n <div>\n <label class='fb-option'>\n <input class='rf-clase-<%= rf.get(Formbuilder.options.mappings.FIELD_CLASS) %>' type='radio' <%= rf.get(Formbuilder.options.mappings.OPTIONS)[i].checked && 'checked' %> onclick=\"javascript: return false;\" />\n <%= rf.get(Formbuilder.options.mappings.OPTIONS)[i].label %>\n </label>\n </div>\n<% } %>\n\n<% if (rf.get(Formbuilder.options.mappings.INCLUDE_OTHER)) { %>\n <div class='other-option'>\n <label class='fb-option'>\n <input type='radio' />\n Other\n </label>\n\n <input type='text' />\n </div>\n<% } %>",
780
+ //edit: "<%= Formbuilder.templates['edit/class']() %>\n<%= Formbuilder.templates['edit/options']({ includeOther: true }) %>",
781
+ edit: "<%= Formbuilder.templates['edit/class']() %>\n<%= Formbuilder.templates['edit/options']() %>",
782
+ addButton: "<span class=\"symbol\"><span class=\"fa fa-circle-o\"></span></span> Multiple Choice",
783
+ defaultAttributes: function(attrs) {
784
+ attrs.field_options.options = [
785
+ {
786
+ label: "",
787
+ checked: false
788
+ }, {
789
+ label: "",
790
+ checked: false
791
+ }
792
+ ];
793
+ attrs.field_options.field_class = 'default';
794
+ return attrs;
795
+ }
796
+ });
797
+
798
+ }).call(this);
799
+
800
+ /*(function() {
801
+ Formbuilder.registerField('section_break', {
802
+ order: 0,
803
+ type: 'non_input',
804
+ view: "<label class='section-name'><%= rf.get(Formbuilder.options.mappings.LABEL) %></label>\n<p><%= rf.get(Formbuilder.options.mappings.DESCRIPTION) %></p>",
805
+ edit: "<div class='fb-edit-section-header'>Label</div>\n<input type='text' data-rv-input='model.<%= Formbuilder.options.mappings.LABEL %>' />\n<textarea data-rv-input='model.<%= Formbuilder.options.mappings.DESCRIPTION %>'\n placeholder='Add a longer description to this field'></textarea>",
806
+ addButton: "<span class='symbol'><span class='fa fa-minus'></span></span> Section Break"
807
+ });
808
+
809
+ }).call(this); */
810
+
811
+ (function() {
812
+ Formbuilder.registerField('text', {
813
+ order: 0,
814
+ view: "<input type='text' class='rf-size-<%= rf.get(Formbuilder.options.mappings.SIZE) %> rf-clase-<%= rf.get(Formbuilder.options.mappings.FIELD_CLASS) %>' />",
815
+ //edit: "<%= Formbuilder.templates['edit/class']() %>\n<%= Formbuilder.templates['edit/size']() %>\n<%= Formbuilder.templates['edit/min_max_length']() %>",
816
+ edit: "<%= Formbuilder.templates['edit/class']() %>",
817
+ addButton: "<span class='symbol'><span class='fa fa-font'></span></span> Text",
818
+ defaultAttributes: function(attrs) {
819
+ attrs.field_options.size = 'small';
820
+ attrs.field_options.field_class = 'default';
821
+ return attrs;
822
+ }
823
+ });
824
+
825
+ }).call(this);
826
+
827
+ (function() {
828
+ Formbuilder.registerField('captcha', {
829
+ order: 45,
830
+ view: "<input type='text' placeholder='' class='rf-clase-<%= rf.get(Formbuilder.options.mappings.FIELD_CLASS) %>' />",
831
+ edit: "<%= Formbuilder.templates['edit/class']() %>\n",
832
+ addButton: "<span class=\"symbol\"><span class=\"glyphicon glyphicon-barcode\"></span></span> Captcha",
833
+ defaultAttributes: function(attrs) {
834
+ attrs.field_options.field_class = 'default';
835
+ return attrs;
836
+ }
837
+ });
838
+
839
+ }).call(this);
840
+
841
+ (function() {
842
+ Formbuilder.registerField('file', {
843
+ order: 54,
844
+ view: "<input type='file' placeholder='' class='rf-clase-<%= rf.get(Formbuilder.options.mappings.FIELD_CLASS) %>' multiple />",
845
+ edit: "<%= Formbuilder.templates['edit/class']() %>\n",
846
+ addButton: "<span class=\"symbol\"><span class=\"glyphicon glyphicon-barcode\"></span></span> Upload File",
847
+ defaultAttributes: function(attrs) {
848
+ attrs.field_options.field_class = 'default';
849
+ return attrs;
850
+ }
851
+ });
852
+
853
+ }).call(this);
854
+
855
+ /*(function() {
856
+ Formbuilder.registerField('time', {
857
+ order: 25,
858
+ view: "<div class='input-line'>\n <span class='hours'>\n <input type=\"text\" />\n <label>HH</label>\n </span>\n\n <span class='above-line'>:</span>\n\n <span class='minutes'>\n <input type=\"text\" />\n <label>MM</label>\n </span>\n\n <span class='above-line'>:</span>\n\n <span class='seconds'>\n <input type=\"text\" />\n <label>SS</label>\n </span>\n\n <span class='am_pm'>\n <select>\n <option>AM</option>\n <option>PM</option>\n </select>\n </span>\n</div>",
859
+ edit: "",
860
+ addButton: "<span class=\"symbol\"><span class=\"fa fa-clock-o\"></span></span> Time"
861
+ });
862
+
863
+ }).call(this);*/
864
+
865
+ (function() {
866
+ Formbuilder.registerField('website', {
867
+ order: 35,
868
+ view: "<input type='text' placeholder='http://' class='rf-clase-<%= rf.get(Formbuilder.options.mappings.FIELD_CLASS) %>' />",
869
+ edit: "<%= Formbuilder.templates['edit/class']() %>\n",
870
+ addButton: "<span class=\"symbol\"><span class=\"fa fa-link\"></span></span> Website",
871
+ defaultAttributes: function(attrs) {
872
+ attrs.field_options.field_class = 'default';
873
+ return attrs;
874
+ }
875
+ });
876
+
877
+ }).call(this);
878
+
879
+ this["Formbuilder"] = this["Formbuilder"] || {};
880
+ this["Formbuilder"]["templates"] = this["Formbuilder"]["templates"] || {};
881
+
882
+ this["Formbuilder"]["templates"]["edit/base"] = function(obj) {
883
+ obj || (obj = {});
884
+ var __t, __p = '', __e = _.escape;
885
+ with (obj) {
886
+ __p +=
887
+ ((__t = ( Formbuilder.templates['edit/base_header']() )) == null ? '' : __t) +
888
+ '\n' +
889
+ ((__t = ( Formbuilder.templates['edit/common']() )) == null ? '' : __t) +
890
+ '\n' +
891
+ ((__t = ( Formbuilder.fields[rf.get(Formbuilder.options.mappings.FIELD_TYPE)].edit({rf: rf}) )) == null ? '' : __t) +
892
+ '\n';
893
+
894
+ }
895
+ return __p
896
+ };
897
+
898
+ this["Formbuilder"]["templates"]["edit/base_header"] = function(obj) {
899
+ obj || (obj = {});
900
+ var __t, __p = '', __e = _.escape;
901
+ with (obj) {
902
+ __p += '<div class=\'fb-field-label\'>\n <span data-rv-text="model.' +
903
+ ((__t = ( Formbuilder.options.mappings.LABEL )) == null ? '' : __t) +
904
+ '"></span>\n <code class=\'field-type\' data-rv-text=\'model.' +
905
+ ((__t = ( Formbuilder.options.mappings.FIELD_TYPE )) == null ? '' : __t) +
906
+ '\'></code>\n <span class=\'fa fa-arrow-right pull-right\'></span>\n ' +
907
+ 'cid: <span class=\'fields-cid\'></span>\n</div>';
908
+
909
+ }
910
+ return __p
911
+ };
912
+
913
+ this["Formbuilder"]["templates"]["edit/base_non_input"] = function(obj) {
914
+ obj || (obj = {});
915
+ var __t, __p = '', __e = _.escape;
916
+ with (obj) {
917
+ __p +=
918
+ ((__t = ( Formbuilder.templates['edit/base_header']() )) == null ? '' : __t) +
919
+ '\n' +
920
+ ((__t = ( Formbuilder.fields[rf.get(Formbuilder.options.mappings.FIELD_TYPE)].edit({rf: rf}) )) == null ? '' : __t) +
921
+ '\n';
922
+
923
+ }
924
+ return __p
925
+ };
926
+
927
+ this["Formbuilder"]["templates"]["edit/checkboxes"] = function(obj) {
928
+ obj || (obj = {});
929
+ var __t, __p = '', __e = _.escape;
930
+ with (obj) {
931
+ __p += '<label>\n <input type=\'checkbox\' data-rv-checked=\'model.' +
932
+ ((__t = ( Formbuilder.options.mappings.REQUIRED )) == null ? '' : __t) +
933
+ '\' />\n Required\n</label>\n<!-- label>\n <input type=\'checkbox\' data-rv-checked=\'model.' +
934
+ ((__t = ( Formbuilder.options.mappings.ADMIN_ONLY )) == null ? '' : __t) +
935
+ '\' />\n Admin only\n</label -->';
936
+
937
+ }
938
+ return __p
939
+ };
940
+
941
+ this["Formbuilder"]["templates"]["edit/common"] = function(obj) {
942
+ obj || (obj = {});
943
+ var __t, __p = '', __e = _.escape;
944
+ with (obj) {
945
+ __p += '<div class=\'fb-edit-section-header\'>Label</div>\n\n<div class=\'fb-common-wrapper\'>\n '+
946
+ '<div class=\'fb-label-description\'>\n ' +
947
+ ((__t = ( Formbuilder.templates['edit/label_description']() )) == null ? '' : __t) +
948
+ '\n </div>\n '+
949
+ '<div class=\'fb-common-checkboxes\'>\n ' +
950
+ ((__t = ( Formbuilder.templates['edit/checkboxes']() )) == null ? '' : __t) +
951
+ '\n </div>\n <div class=\'fb-clear\'></div>\n</div>\n';
952
+
953
+ }
954
+ return __p
955
+ };
956
+
957
+ this["Formbuilder"]["templates"]["edit/integer_only"] = function(obj) {
958
+ obj || (obj = {});
959
+ var __t, __p = '', __e = _.escape;
960
+ with (obj) {
961
+ __p += '<div class=\'fb-edit-section-header\'>Integer only</div>\n<label>\n <input type=\'checkbox\' data-rv-checked=\'model.' +
962
+ ((__t = ( Formbuilder.options.mappings.INTEGER_ONLY )) == null ? '' : __t) +
963
+ '\' />\n Only accept integers\n</label>\n';
964
+
965
+ }
966
+ return __p
967
+ };
968
+
969
+ this["Formbuilder"]["templates"]["edit/label_description"] = function(obj) {
970
+ obj || (obj = {});
971
+ var __t, __p = '', __e = _.escape;
972
+ with (obj) {
973
+ __p += '<input type=\'text\' data-rv-input=\'model.' +
974
+ ((__t = ( Formbuilder.options.mappings.LABEL )) == null ? '' : __t) +
975
+ '\' />\n<br><br><textarea data-rv-input=\'model.' +
976
+ ((__t = ( Formbuilder.options.mappings.DESCRIPTION )) == null ? '' : __t) +
977
+ '\'\n placeholder=\'Add a longer description to this field\'></textarea>';
978
+
979
+ }
980
+ return __p
981
+ };
982
+
983
+
984
+ this["Formbuilder"]["templates"]["edit/min_max"] = function(obj) {
985
+ obj || (obj = {});
986
+ var __t, __p = '', __e = _.escape;
987
+ with (obj) {
988
+ __p += '<div class=\'fb-edit-section-header\'>Minimum / Maximum</div>\n\nAbove\n<input type="text" data-rv-input="model.' +
989
+ ((__t = ( Formbuilder.options.mappings.MIN )) == null ? '' : __t) +
990
+ '" style="width: 30px" />\n\n&nbsp;&nbsp;\n\nBelow\n<input type="text" data-rv-input="model.' +
991
+ ((__t = ( Formbuilder.options.mappings.MAX )) == null ? '' : __t) +
992
+ '" style="width: 30px" />\n';
993
+
994
+ }
995
+ return __p
996
+ };
997
+
998
+ this["Formbuilder"]["templates"]["edit/min_max_length"] = function(obj) {
999
+ obj || (obj = {});
1000
+ var __t, __p = '', __e = _.escape;
1001
+ with (obj) {
1002
+ __p += '<div class=\'fb-edit-section-header\'>Length Limit</div>\n\nMin\n<input type="text" data-rv-input="model.' +
1003
+ ((__t = ( Formbuilder.options.mappings.MINLENGTH )) == null ? '' : __t) +
1004
+ '" style="width: 30px" />\n\n&nbsp;&nbsp;\n\nMax\n<input type="text" data-rv-input="model.' +
1005
+ ((__t = ( Formbuilder.options.mappings.MAXLENGTH )) == null ? '' : __t) +
1006
+ '" style="width: 30px" />\n\n&nbsp;&nbsp;\n\n<select data-rv-value="model.' +
1007
+ ((__t = ( Formbuilder.options.mappings.LENGTH_UNITS )) == null ? '' : __t) +
1008
+ '" style="width: auto;">\n <option value="characters">characters</option>\n <option value="words">words</option>\n</select>\n';
1009
+
1010
+ }
1011
+ return __p
1012
+ };
1013
+
1014
+ this["Formbuilder"]["templates"]["edit/options"] = function(obj) {
1015
+ obj || (obj = {});
1016
+ var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
1017
+ function print() { __p += __j.call(arguments, '') }
1018
+ with (obj) {
1019
+ __p += '<div class=\'fb-edit-section-header\'>Options</div>\n\n';
1020
+ if (typeof includeBlank !== 'undefined'){ ;
1021
+ __p += '\n <label>\n <input type=\'checkbox\' data-rv-checked=\'model.' +
1022
+ ((__t = ( Formbuilder.options.mappings.INCLUDE_BLANK )) == null ? '' : __t) +
1023
+ '\' />\n Include blank\n </label>\n';
1024
+ } ;
1025
+ __p += '\n\n<div class=\'option\' data-rv-each-option=\'model.' +
1026
+ ((__t = ( Formbuilder.options.mappings.OPTIONS )) == null ? '' : __t) +
1027
+ '\'>\n <input type="checkbox" class=\'js-default-updated\' data-rv-checked="option:checked" />\n <input type="text" data-rv-input="option:label" class=\'option-label-input\' />\n <a class="js-add-option ' +
1028
+ ((__t = ( Formbuilder.options.BUTTON_CLASS )) == null ? '' : __t) +
1029
+ '" title="Add Option"><i class=\'fa fa-plus-circle\'></i></a>\n <a class="js-remove-option ' +
1030
+ ((__t = ( Formbuilder.options.BUTTON_CLASS )) == null ? '' : __t) +
1031
+ '" title="Remove Option"><i class=\'fa fa-minus-circle\'></i></a>\n</div>\n\n';
1032
+ if (typeof includeOther !== 'undefined'){ ;
1033
+ __p += '\n <label>\n <input type=\'checkbox\' data-rv-checked=\'model.' +
1034
+ ((__t = ( Formbuilder.options.mappings.INCLUDE_OTHER )) == null ? '' : __t) +
1035
+ '\' />\n Include "other"\n </label>\n';
1036
+ } ;
1037
+ __p += '\n\n<div class=\'fb-bottom-add\'>\n <a class="js-add-option ' +
1038
+ ((__t = ( Formbuilder.options.BUTTON_CLASS )) == null ? '' : __t) +
1039
+ '">Add option</a>\n</div>\n';
1040
+
1041
+ }
1042
+ return __p
1043
+ };
1044
+
1045
+ this["Formbuilder"]["templates"]["edit/size"] = function(obj) {
1046
+ obj || (obj = {});
1047
+ var __t, __p = '', __e = _.escape;
1048
+ with (obj) {
1049
+ __p += '<div class=\'fb-edit-section-header\'>Size</div>\n<select data-rv-value="model.' +
1050
+ ((__t = ( Formbuilder.options.mappings.SIZE )) == null ? '' : __t) +
1051
+ '">\n <option value="small">Small</option>\n <option value="medium">Medium</option>\n <option value="large">Large</option>\n</select>\n';
1052
+
1053
+ }
1054
+ return __p
1055
+ };
1056
+
1057
+
1058
+ /* add function field_class */
1059
+ this["Formbuilder"]["templates"]["edit/class"] = function(obj) {
1060
+ obj || (obj = {});
1061
+ var __t, __p = '', __e = _.escape;
1062
+ with (obj) {
1063
+ __p += '<div class=\'fb-edit-section-header\'>Custom Class</div>\n<input type="text" data-rv-input="model.' +
1064
+ ((__t = ( Formbuilder.options.mappings.FIELD_CLASS )) == null ? '' : __t) +
1065
+ '" />\n';
1066
+
1067
+ }
1068
+ return __p
1069
+ };
1070
+ /* end function field_class*/
1071
+
1072
+ this["Formbuilder"]["templates"]["edit/units"] = function(obj) {
1073
+ obj || (obj = {});
1074
+ var __t, __p = '', __e = _.escape;
1075
+ with (obj) {
1076
+ __p += '<div class=\'fb-edit-section-header\'>Units</div>\n<input type="text" data-rv-input="model.' +
1077
+ ((__t = ( Formbuilder.options.mappings.UNITS )) == null ? '' : __t) +
1078
+ '" />\n';
1079
+
1080
+ }
1081
+ return __p
1082
+ };
1083
+
1084
+ this["Formbuilder"]["templates"]["page"] = function(obj) {
1085
+ obj || (obj = {});
1086
+ var __t, __p = '', __e = _.escape;
1087
+ with (obj) {
1088
+ __p +=
1089
+ ((__t = ( Formbuilder.templates['partials/save_button']() )) == null ? '' : __t) +
1090
+ '\n' +
1091
+ ((__t = ( Formbuilder.templates['partials/left_side']() )) == null ? '' : __t) +
1092
+ '\n' +
1093
+ ((__t = ( Formbuilder.templates['partials/right_side']() )) == null ? '' : __t) +
1094
+ '\n<div class=\'fb-clear\'></div>\n</div>';
1095
+
1096
+ }
1097
+ return __p
1098
+ };
1099
+
1100
+ this["Formbuilder"]["templates"]["partials/add_field"] = function(obj) {
1101
+ obj || (obj = {});
1102
+ var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
1103
+ function print() { __p += __j.call(arguments, '') }
1104
+ with (obj) {
1105
+ __p += '<div class=\'fb-tab-pane active\' id=\'addField\'>\n <div class=\'fb-add-field-types\'>\n <div class=\'section\'>\n ';
1106
+ _.each(_.sortBy(Formbuilder.inputFields, 'order'), function(f){ ;
1107
+ __p += '\n <a data-field-type="' +
1108
+ ((__t = ( f.field_type )) == null ? '' : __t) +
1109
+ '" class="' +
1110
+ ((__t = ( Formbuilder.options.BUTTON_CLASS )) == null ? '' : __t) +
1111
+ '">\n ' +
1112
+ ((__t = ( f.addButton )) == null ? '' : __t) +
1113
+ '\n </a>\n ';
1114
+ }); ;
1115
+ __p += '\n </div>\n\n <div class=\'section\'>\n ';
1116
+ _.each(_.sortBy(Formbuilder.nonInputFields, 'order'), function(f){ ;
1117
+ __p += '\n <a data-field-type="' +
1118
+ ((__t = ( f.field_type )) == null ? '' : __t) +
1119
+ '" class="' +
1120
+ ((__t = ( Formbuilder.options.BUTTON_CLASS )) == null ? '' : __t) +
1121
+ '">\n ' +
1122
+ ((__t = ( f.addButton )) == null ? '' : __t) +
1123
+ '\n </a>\n ';
1124
+ }); ;
1125
+ __p += '\n </div>\n </div>\n</div>\n';
1126
+
1127
+ }
1128
+ return __p
1129
+ };
1130
+
1131
+ this["Formbuilder"]["templates"]["partials/edit_field"] = function(obj) {
1132
+ obj || (obj = {});
1133
+ var __t, __p = '', __e = _.escape;
1134
+ with (obj) {
1135
+ __p += '<div class=\'fb-tab-pane\' id=\'editField\'>\n <div class=\'fb-edit-field-wrapper\'></div>\n</div>\n';
1136
+
1137
+ }
1138
+ return __p
1139
+ };
1140
+
1141
+ this["Formbuilder"]["templates"]["partials/left_side"] = function(obj) {
1142
+ obj || (obj = {});
1143
+ var __t, __p = '', __e = _.escape;
1144
+ with (obj) {
1145
+ __p += '<div class=\'row\'>\n<div class=\'col-md-7 fb-left\'>\n <div class=\'panel panel-default\'>\n<div class=\'panel-heading\'>\n<h3 class=\'panel-title\'>Edit Field</h3>\n' +
1146
+ '<ul class=\'panel-controls\'>\n<li>\n<a href=\'#\' class=\'panel-collapse\'>\n<span class=\'fa fa-angle-down\'></span>\n</a>\n</li>\n</ul></div>\n' +
1147
+ '<div class=\'panel-body\'>\n<div class=\'fb-no-response-fields\'>No response fields</div>\n <div class=\'fb-response-fields\'></div>\n</div>\n</div>\n</div>';
1148
+
1149
+ }
1150
+ return __p
1151
+ };
1152
+
1153
+ this["Formbuilder"]["templates"]["partials/right_side"] = function(obj) {
1154
+ obj || (obj = {});
1155
+ var __t, __p = '', __e = _.escape;
1156
+ with (obj) {
1157
+ __p += '<div class=\'col-md-5 fb-right\'>\n <div class=\'panel panel-default\'>\n<div class=\'panel-heading\'><h3 class=\'panel-title\'>Add Field</h3>\n' +
1158
+ '<ul class=\'panel-controls\'>\n<li>\n<a href=\'#\' class=\'panel-collapse\'>\n<span class=\'fa fa-angle-down\'></span>\n</a>\n</li>\n</ul></div>\n' +
1159
+ '<div class=\'panel-body\'>\n <ul class=\'fb-tabs\'>\n <li class=\'active\'><a data-target=\'#addField\'>Add new field</a></li>\n<li>' +
1160
+ '<a data-target=\'#editField\'>Edit field</a></li>\n </ul>\n\n <div class=\'fb-tab-content\'>\n ' +
1161
+ ((__t = ( Formbuilder.templates['partials/add_field']() )) == null ? '' : __t) +
1162
+ '\n ' +
1163
+ ((__t = ( Formbuilder.templates['partials/edit_field']() )) == null ? '' : __t) +
1164
+ '\n </div>\n</div>\n</div>\n</div>';
1165
+ }
1166
+ return __p
1167
+ };
1168
+
1169
+ this["Formbuilder"]["templates"]["partials/save_button"] = function(obj) {
1170
+ obj || (obj = {});
1171
+ var __t, __p = '', __e = _.escape;
1172
+ with (obj) {
1173
+ __p += '<div class=\'row fb-save-wrapper\'>\n <button class=\'js-save-form ' +
1174
+ ((__t = ( Formbuilder.options.BUTTON_CLASS )) == null ? '' : __t) +
1175
+ '\'></button>\n</div>';
1176
+
1177
+ }
1178
+ return __p
1179
+ };
1180
+
1181
+ this["Formbuilder"]["templates"]["view/base"] = function(obj) {
1182
+ obj || (obj = {});
1183
+ var __t, __p = '', __e = _.escape;
1184
+ with (obj) {
1185
+ __p += '<div class=\'subtemplate-wrapper\'>\n <div class=\'cover\'></div>\n ' +
1186
+ ((__t = ( Formbuilder.templates['view/label']({rf: rf}) )) == null ? '' : __t) +
1187
+ '\n\n ' +
1188
+ ((__t = ( Formbuilder.fields[rf.get(Formbuilder.options.mappings.FIELD_TYPE)].view({rf: rf}) )) == null ? '' : __t) +
1189
+ '\n\n ' +
1190
+ ((__t = ( Formbuilder.templates['view/description']({rf: rf}) )) == null ? '' : __t) +
1191
+ '\n ' +
1192
+ ((__t = ( Formbuilder.templates['view/duplicate_remove']({rf: rf}) )) == null ? '' : __t) +
1193
+ '\n</div>\n';
1194
+
1195
+ }
1196
+ return __p
1197
+ };
1198
+
1199
+ this["Formbuilder"]["templates"]["view/base_non_input"] = function(obj) {
1200
+ obj || (obj = {});
1201
+ var __t, __p = '', __e = _.escape;
1202
+ with (obj) {
1203
+ __p += '';
1204
+
1205
+ }
1206
+ return __p
1207
+ };
1208
+
1209
+ this["Formbuilder"]["templates"]["view/description"] = function(obj) {
1210
+ obj || (obj = {});
1211
+ var __t, __p = '', __e = _.escape;
1212
+ with (obj) {
1213
+ __p += '<span class=\'help-block\'>\n ' +
1214
+ ((__t = ( Formbuilder.helpers.simple_format(rf.get(Formbuilder.options.mappings.DESCRIPTION)) )) == null ? '' : __t) +
1215
+ '\n</span>\n';
1216
+
1217
+ }
1218
+ return __p
1219
+ };
1220
+
1221
+ this["Formbuilder"]["templates"]["view/duplicate_remove"] = function(obj) {
1222
+ obj || (obj = {});
1223
+ var __t, __p = '', __e = _.escape;
1224
+ with (obj) {
1225
+ __p += '<div class=\'actions-wrapper\'>\n <a class="js-duplicate ' +
1226
+ ((__t = ( Formbuilder.options.BUTTON_CLASS )) == null ? '' : __t) +
1227
+ '" title="Duplicate Field"><i class=\'fa fa-plus-circle\'></i></a>\n <a class="js-clear ' +
1228
+ ((__t = ( Formbuilder.options.BUTTON_CLASS )) == null ? '' : __t) +
1229
+ '" title="Remove Field"><i class=\'fa fa-minus-circle\'></i></a>\n</div>';
1230
+
1231
+ }
1232
+ return __p
1233
+ };
1234
+
1235
+ this["Formbuilder"]["templates"]["view/label"] = function(obj) {
1236
+ obj || (obj = {});
1237
+ var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
1238
+ function print() { __p += __j.call(arguments, '') }
1239
+ with (obj) {
1240
+ __p += '<label>\n <span>' +
1241
+ ((__t = ( Formbuilder.helpers.simple_format(rf.get(Formbuilder.options.mappings.LABEL)) )) == null ? '' : __t) +
1242
+ '\n ';
1243
+ if (rf.get(Formbuilder.options.mappings.REQUIRED)) { ;
1244
+ __p += '\n <abbr title=\'required\'>*</abbr>\n ';
1245
+ } ;
1246
+ __p += '\n</label>\n';
1247
+
1248
+ }
1249
+ return __p
1250
+ };