refinerycms-core 1.0.11 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (528) hide show
  1. data/{public → app/assets/images}/favicon.ico +0 -0
  2. data/{public → app/assets}/images/refinery/add.png +0 -0
  3. data/{public → app/assets}/images/refinery/admin_bg.png +0 -0
  4. data/{public → app/assets}/images/refinery/ajax-loader.gif +0 -0
  5. data/{public → app/assets}/images/refinery/branch-end.gif +0 -0
  6. data/{public → app/assets}/images/refinery/branch-start.gif +0 -0
  7. data/{public → app/assets}/images/refinery/branch.gif +0 -0
  8. data/{public → app/assets}/images/refinery/carousel-left.png +0 -0
  9. data/{public → app/assets}/images/refinery/carousel-right.png +0 -0
  10. data/{public → app/assets}/images/refinery/cross.png +0 -0
  11. data/{public → app/assets}/images/refinery/dialogLoadingAnimation.gif +0 -0
  12. data/{public → app/assets}/images/refinery/header_background.png +0 -0
  13. data/{public → app/assets}/images/refinery/hover-gradient.jpg +0 -0
  14. data/{public → app/assets}/images/refinery/icons/accept.png +0 -0
  15. data/{public → app/assets}/images/refinery/icons/add.png +0 -0
  16. data/{public → app/assets}/images/refinery/icons/ajax-loader.gif +0 -0
  17. data/{public → app/assets}/images/refinery/icons/application_edit.png +0 -0
  18. data/{public → app/assets}/images/refinery/icons/application_go.png +0 -0
  19. data/{public → app/assets}/images/refinery/icons/arrow_left.png +0 -0
  20. data/{public → app/assets}/images/refinery/icons/arrow_switch.png +0 -0
  21. data/{public → app/assets}/images/refinery/icons/arrow_up.png +0 -0
  22. data/{public → app/assets}/images/refinery/icons/bin.png +0 -0
  23. data/{public → app/assets}/images/refinery/icons/bin_closed.png +0 -0
  24. data/{public → app/assets}/images/refinery/icons/cancel.png +0 -0
  25. data/{public → app/assets}/images/refinery/icons/cog_add.png +0 -0
  26. data/{public → app/assets}/images/refinery/icons/cog_edit.png +0 -0
  27. data/{public → app/assets}/images/refinery/icons/cross.png +0 -0
  28. data/{public → app/assets}/images/refinery/icons/delete.png +0 -0
  29. data/{public → app/assets}/images/refinery/icons/doc.png +0 -0
  30. data/{public → app/assets}/images/refinery/icons/down.gif +0 -0
  31. data/{public → app/assets}/images/refinery/icons/edit.png +0 -0
  32. data/{public → app/assets}/images/refinery/icons/email.png +0 -0
  33. data/{public → app/assets}/images/refinery/icons/email_edit.png +0 -0
  34. data/{public → app/assets}/images/refinery/icons/email_go.png +0 -0
  35. data/{public → app/assets}/images/refinery/icons/email_open.png +0 -0
  36. data/{public → app/assets}/images/refinery/icons/eye.png +0 -0
  37. data/app/assets/images/refinery/icons/folder.png +0 -0
  38. data/app/assets/images/refinery/icons/folder_open.png +0 -0
  39. data/{public → app/assets}/images/refinery/icons/folder_page_white.png +0 -0
  40. data/{public → app/assets}/images/refinery/icons/image_add.png +0 -0
  41. data/{public → app/assets}/images/refinery/icons/image_edit.png +0 -0
  42. data/{public → app/assets}/images/refinery/icons/img.png +0 -0
  43. data/{public → app/assets}/images/refinery/icons/information.png +0 -0
  44. data/{public → app/assets}/images/refinery/icons/layout_add.png +0 -0
  45. data/{public → app/assets}/images/refinery/icons/layout_edit.png +0 -0
  46. data/{public → app/assets}/images/refinery/icons/music.png +0 -0
  47. data/app/assets/images/refinery/icons/page.png +0 -0
  48. data/{public → app/assets}/images/refinery/icons/page_add.png +0 -0
  49. data/{public → app/assets}/images/refinery/icons/page_edit.png +0 -0
  50. data/{public → app/assets}/images/refinery/icons/page_white_edit.png +0 -0
  51. data/{public → app/assets}/images/refinery/icons/page_white_gear.png +0 -0
  52. data/{public → app/assets}/images/refinery/icons/page_white_put.png +0 -0
  53. data/{public → app/assets}/images/refinery/icons/pdf.png +0 -0
  54. data/{public → app/assets}/images/refinery/icons/ppt.png +0 -0
  55. data/{public → app/assets}/images/refinery/icons/star.png +0 -0
  56. data/{public → app/assets}/images/refinery/icons/tick.png +0 -0
  57. data/{public → app/assets}/images/refinery/icons/up.gif +0 -0
  58. data/{public → app/assets}/images/refinery/icons/user_add.png +0 -0
  59. data/{public → app/assets}/images/refinery/icons/user_comment.png +0 -0
  60. data/{public → app/assets}/images/refinery/icons/user_edit.png +0 -0
  61. data/{public → app/assets}/images/refinery/icons/xls.png +0 -0
  62. data/{public → app/assets}/images/refinery/icons/zip.png +0 -0
  63. data/{public → app/assets}/images/refinery/icons/zoom.png +0 -0
  64. data/{public → app/assets}/images/refinery/logo-large.png +0 -0
  65. data/{public → app/assets}/images/refinery/logo-medium.png +0 -0
  66. data/{public → app/assets}/images/refinery/logo-site-bar.png +0 -0
  67. data/{public → app/assets}/images/refinery/logo-small-medium.png +0 -0
  68. data/{public → app/assets}/images/refinery/logo-small.png +0 -0
  69. data/{public → app/assets}/images/refinery/logo-tiny.png +0 -0
  70. data/{public → app/assets}/images/refinery/logo.png +0 -0
  71. data/{public → app/assets}/images/refinery/nav-3-background.gif +0 -0
  72. data/{public → app/assets}/images/refinery/nav_inactive_background.png +0 -0
  73. data/{public → app/assets}/images/refinery/orange_button.png +0 -0
  74. data/{public → app/assets}/images/refinery/page_bg.png +0 -0
  75. data/{public → app/assets}/images/refinery/resolve_digital_footer_logo.png +0 -0
  76. data/{public → app/assets}/images/refinery/text_field_background.png +0 -0
  77. data/{public → app/assets}/images/refinery/tooltip-nib.gif +0 -0
  78. data/{public → app/assets}/images/refinery/tooltip-nib.png +0 -0
  79. data/{public → app/assets}/images/wymeditor/skins/refinery/arrow_redo.png +0 -0
  80. data/{public → app/assets}/images/wymeditor/skins/refinery/arrow_undo.png +0 -0
  81. data/{public → app/assets}/images/wymeditor/skins/refinery/eye.png +0 -0
  82. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/article.png +0 -0
  83. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/aside.png +0 -0
  84. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/blockquote.png +0 -0
  85. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/command.png +0 -0
  86. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/details.png +0 -0
  87. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/figcaption.png +0 -0
  88. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/figure.png +0 -0
  89. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/footer.png +0 -0
  90. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h1.png +0 -0
  91. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h2.png +0 -0
  92. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h3.png +0 -0
  93. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h4.png +0 -0
  94. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h5.png +0 -0
  95. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h6.png +0 -0
  96. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/header.png +0 -0
  97. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/hgroup.png +0 -0
  98. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/mark.png +0 -0
  99. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/meter.png +0 -0
  100. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/nav.png +0 -0
  101. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/p.png +0 -0
  102. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/pre.png +0 -0
  103. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/progress.png +0 -0
  104. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/readme.md +0 -0
  105. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/rp.png +0 -0
  106. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/rt.png +0 -0
  107. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/ruby.png +0 -0
  108. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/section.png +0 -0
  109. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/summary.png +0 -0
  110. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/time.png +0 -0
  111. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-blockquote.png +0 -0
  112. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h1.png +0 -0
  113. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h2.png +0 -0
  114. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h3.png +0 -0
  115. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h4.png +0 -0
  116. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h5.png +0 -0
  117. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h6.png +0 -0
  118. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-p.png +0 -0
  119. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-pre.png +0 -0
  120. data/{public → app/assets}/images/wymeditor/skins/refinery/link_add.png +0 -0
  121. data/{public → app/assets}/images/wymeditor/skins/refinery/link_break.png +0 -0
  122. data/{public → app/assets}/images/wymeditor/skins/refinery/page_code.png +0 -0
  123. data/{public → app/assets}/images/wymeditor/skins/refinery/page_paste.png +0 -0
  124. data/{public → app/assets}/images/wymeditor/skins/refinery/photo_add.png +0 -0
  125. data/{public → app/assets}/images/wymeditor/skins/refinery/right.png +0 -0
  126. data/{public → app/assets}/images/wymeditor/skins/refinery/style.png +0 -0
  127. data/{public → app/assets}/images/wymeditor/skins/refinery/table_add.png +0 -0
  128. data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_center.png +0 -0
  129. data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_justify.png +0 -0
  130. data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_left.png +0 -0
  131. data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_right.png +0 -0
  132. data/{public → app/assets}/images/wymeditor/skins/refinery/text_bold.png +0 -0
  133. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_1.png +0 -0
  134. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_2.png +0 -0
  135. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_3.png +0 -0
  136. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_4.png +0 -0
  137. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_5.png +0 -0
  138. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_6.png +0 -0
  139. data/{public → app/assets}/images/wymeditor/skins/refinery/text_indent.png +0 -0
  140. data/{public → app/assets}/images/wymeditor/skins/refinery/text_indent_remove.png +0 -0
  141. data/{public → app/assets}/images/wymeditor/skins/refinery/text_italic.png +0 -0
  142. data/{public → app/assets}/images/wymeditor/skins/refinery/text_list_bullets.png +0 -0
  143. data/{public → app/assets}/images/wymeditor/skins/refinery/text_list_numbers.png +0 -0
  144. data/{public → app/assets}/images/wymeditor/skins/refinery/text_paragraph.png +0 -0
  145. data/{public → app/assets}/images/wymeditor/skins/refinery/text_strikethrough.png +0 -0
  146. data/{public → app/assets}/images/wymeditor/skins/refinery/text_subscript.png +0 -0
  147. data/{public → app/assets}/images/wymeditor/skins/refinery/text_superscript.png +0 -0
  148. data/{public → app/assets}/images/wymeditor/skins/refinery/text_underline.png +0 -0
  149. data/{public → app/assets}/images/wymeditor/skins/wymeditor_icon.png +0 -0
  150. data/{public → app/assets}/javascripts/admin.js +1 -2
  151. data/{public → app/assets}/javascripts/application.js +0 -0
  152. data/{public → app/assets}/javascripts/dd_belatedpng.js +0 -0
  153. data/{public → app/assets}/javascripts/jquery/GPL-LICENSE.txt +0 -0
  154. data/{public → app/assets}/javascripts/jquery/MIT-LICENSE.txt +0 -0
  155. data/{public → app/assets}/javascripts/jquery/jquery.corner.js +0 -0
  156. data/{public → app/assets}/javascripts/jquery/jquery.html5-placeholder-shim.js +0 -0
  157. data/{public → app/assets}/javascripts/jquery/jquery.jcarousel.js +0 -0
  158. data/{public → app/assets}/javascripts/jquery/jquery.textTruncate.js +0 -0
  159. data/{public → app/assets}/javascripts/jquery/jquery.timers.js +0 -0
  160. data/app/assets/javascripts/modernizr-min.js +4 -0
  161. data/{public/javascripts/refinery/admin.js → app/assets/javascripts/refinery/admin.js.erb} +121 -209
  162. data/app/assets/javascripts/refinery/ajaxy_pagination.js.coffee +13 -0
  163. data/{public/javascripts/refinery/boot_wym.js → app/assets/javascripts/refinery/boot_wym.js.erb} +8 -8
  164. data/{public → app/assets}/javascripts/refinery/core.js +1 -1
  165. data/app/assets/javascripts/refinery/interface.js.coffee.erb +70 -0
  166. data/app/assets/javascripts/refinery/modal_dialogs.js.erb +142 -0
  167. data/app/assets/javascripts/refinery/nestedsortables.js +356 -0
  168. data/app/assets/javascripts/refinery/refinery.js.erb +20 -0
  169. data/app/assets/javascripts/refinery/serializelist.js +68 -0
  170. data/{public → app/assets}/javascripts/refinery/site_bar.js +0 -0
  171. data/app/assets/javascripts/refinery/sortable_menu.js.coffee +21 -0
  172. data/{public/javascripts/refinery/submenu.js → app/assets/javascripts/refinery/submenu.js.erb} +1 -1
  173. data/app/assets/javascripts/refinery/submit_continue.js.coffee.erb +8 -0
  174. data/app/assets/javascripts/refinery/tree.js +25 -0
  175. data/app/assets/javascripts/refinery/wymeditor.js +37 -0
  176. data/app/assets/javascripts/wymeditor/browsers/ie.js.erb +224 -0
  177. data/app/assets/javascripts/wymeditor/browsers/mozilla.js.erb +293 -0
  178. data/app/assets/javascripts/wymeditor/browsers/opera.js.erb +123 -0
  179. data/app/assets/javascripts/wymeditor/browsers/webkit.js.erb +284 -0
  180. data/app/assets/javascripts/wymeditor/classes.js.erb +1577 -0
  181. data/app/assets/javascripts/wymeditor/functions.js.erb +218 -0
  182. data/{public → app/assets}/javascripts/wymeditor/lang/bg.js +0 -0
  183. data/{public → app/assets}/javascripts/wymeditor/lang/ca.js +0 -0
  184. data/{public → app/assets}/javascripts/wymeditor/lang/cs.js +12 -1
  185. data/{public → app/assets}/javascripts/wymeditor/lang/da.js +0 -0
  186. data/{public → app/assets}/javascripts/wymeditor/lang/de.js +0 -0
  187. data/{public → app/assets}/javascripts/wymeditor/lang/en.js +0 -0
  188. data/{public → app/assets}/javascripts/wymeditor/lang/es.js +0 -0
  189. data/{public → app/assets}/javascripts/wymeditor/lang/fa.js +0 -0
  190. data/{public → app/assets}/javascripts/wymeditor/lang/fi.js +0 -0
  191. data/{public → app/assets}/javascripts/wymeditor/lang/fr.js +13 -1
  192. data/{public → app/assets}/javascripts/wymeditor/lang/he.js +0 -0
  193. data/{public → app/assets}/javascripts/wymeditor/lang/hu.js +0 -0
  194. data/{public → app/assets}/javascripts/wymeditor/lang/it.js +0 -0
  195. data/{public/javascripts/wymeditor/lang/jp.js → app/assets/javascripts/wymeditor/lang/ja.js} +1 -1
  196. data/{public → app/assets}/javascripts/wymeditor/lang/lv.js +0 -0
  197. data/{public → app/assets}/javascripts/wymeditor/lang/nb.js +0 -0
  198. data/{public → app/assets}/javascripts/wymeditor/lang/nl.js +0 -0
  199. data/{public → app/assets}/javascripts/wymeditor/lang/nn.js +0 -0
  200. data/{public → app/assets}/javascripts/wymeditor/lang/pl.js +0 -0
  201. data/app/assets/javascripts/wymeditor/lang/pt-BR.js +58 -0
  202. data/{public → app/assets}/javascripts/wymeditor/lang/pt.js +0 -0
  203. data/{public → app/assets}/javascripts/wymeditor/lang/rs.js +0 -0
  204. data/{public → app/assets}/javascripts/wymeditor/lang/ru.js +14 -3
  205. data/{public → app/assets}/javascripts/wymeditor/lang/sk.js +12 -1
  206. data/{public → app/assets}/javascripts/wymeditor/lang/sl.js +0 -0
  207. data/{public → app/assets}/javascripts/wymeditor/lang/sv.js +0 -0
  208. data/{public → app/assets}/javascripts/wymeditor/lang/tr.js +0 -0
  209. data/{public → app/assets}/javascripts/wymeditor/lang/vi.js +0 -0
  210. data/{public → app/assets}/javascripts/wymeditor/lang/zh_cn.js +0 -0
  211. data/app/assets/javascripts/wymeditor/prototypes.js.erb +1106 -0
  212. data/app/assets/javascripts/wymeditor/setup.js.erb +622 -0
  213. data/{public → app/assets}/javascripts/wymeditor/skins/refinery/skin.js +0 -0
  214. data/app/assets/javascripts/wymeditor/validators.js.erb +776 -0
  215. data/{public/stylesheets/refinery/home.css → app/assets/stylesheets/.gitkeep} +0 -0
  216. data/app/assets/stylesheets/application.css.scss +55 -0
  217. data/{public/stylesheets/refinery/formatting.css → app/assets/stylesheets/formatting.css.scss} +20 -23
  218. data/{public/stylesheets/home.css → app/assets/stylesheets/home.css.scss} +1 -2
  219. data/{public/stylesheets/refinery/refinery.css → app/assets/stylesheets/refinery/refinery.css.scss} +616 -654
  220. data/app/assets/stylesheets/refinery/site_bar.css.scss +92 -0
  221. data/app/assets/stylesheets/refinery/submenu.css.scss +24 -0
  222. data/app/assets/stylesheets/refinery/tooltips.css.scss +34 -0
  223. data/{public/stylesheets/refinery/ui.css → app/assets/stylesheets/refinery/ui.css.scss} +50 -54
  224. data/{public/stylesheets/refinery/theme.css → app/assets/stylesheets/theme.css.scss} +1 -1
  225. data/{public/stylesheets/wymeditor/skins/refinery/skin.css → app/assets/stylesheets/wymeditor/skins/refinery/skin.css.scss} +58 -58
  226. data/{public/stylesheets/wymeditor/skins/refinery/wymiframe.css → app/assets/stylesheets/wymeditor/skins/refinery/wymiframe.css.scss} +29 -29
  227. data/app/controllers/application_controller.rb +0 -1
  228. data/app/controllers/refinery/admin/dialogs_controller.rb +24 -0
  229. data/app/controllers/refinery/admin/refinery_core_controller.rb +14 -0
  230. data/app/controllers/{admin/base_controller.rb → refinery/admin_controller.rb} +2 -3
  231. data/app/controllers/refinery/fast_controller.rb +5 -1
  232. data/app/controllers/refinery/sitemap_controller.rb +20 -0
  233. data/app/helpers/application_helper.rb +1 -1
  234. data/app/helpers/refinery/custom_assets_helper.rb +11 -0
  235. data/app/helpers/refinery/html_truncation_helper.rb +23 -0
  236. data/app/helpers/refinery/image_helper.rb +37 -0
  237. data/app/helpers/refinery/menu_helper.rb +66 -0
  238. data/app/helpers/refinery/meta_helper.rb +52 -0
  239. data/app/helpers/refinery/pagination_helper.rb +14 -0
  240. data/app/helpers/refinery/site_bar_helper.rb +30 -0
  241. data/app/helpers/refinery/tag_helper.rb +20 -0
  242. data/app/helpers/refinery/translation_helper.rb +15 -0
  243. data/app/models/refinery/core/base_model.rb +11 -0
  244. data/app/views/layouts/application.html.erb +9 -9
  245. data/app/views/layouts/refinery/admin.html.erb +23 -0
  246. data/app/views/layouts/refinery/admin_dialog.html.erb +17 -0
  247. data/app/views/layouts/refinery/flash.html.erb +2 -0
  248. data/app/views/refinery/_content_page.html.erb +2 -0
  249. data/app/views/{shared → refinery}/_draft_page_message.html.erb +0 -0
  250. data/app/views/refinery/_footer.html.erb +4 -0
  251. data/app/views/{shared → refinery}/_google_analytics.html.erb +2 -2
  252. data/app/views/refinery/_head.html.erb +18 -0
  253. data/app/views/refinery/_header.html.erb +7 -0
  254. data/app/views/{shared → refinery}/_html_tag.html.erb +0 -0
  255. data/app/views/{shared → refinery}/_ie6check.html.erb +2 -2
  256. data/app/views/{shared → refinery}/_javascripts.html.erb +0 -0
  257. data/app/views/refinery/_menu.html.erb +20 -0
  258. data/app/views/refinery/_menu_branch.html.erb +19 -0
  259. data/app/views/refinery/_message.html.erb +7 -0
  260. data/app/views/{shared → refinery}/_no_script.html.erb +0 -0
  261. data/app/views/{shared → refinery}/_site_bar.html.erb +3 -3
  262. data/app/views/{shared → refinery}/admin/_continue_editing.html.erb +0 -0
  263. data/app/views/refinery/admin/_dialog_success.html.erb +5 -0
  264. data/app/views/{shared → refinery}/admin/_error_messages.html.erb +0 -0
  265. data/app/views/{shared → refinery}/admin/_form_actions.html.erb +11 -15
  266. data/app/views/refinery/admin/_head.html.erb +13 -0
  267. data/app/views/{shared → refinery}/admin/_image_picker.html.erb +8 -7
  268. data/app/views/refinery/admin/_javascripts.html.erb +8 -0
  269. data/app/views/refinery/admin/_make_sortable.html.erb +16 -0
  270. data/app/views/{admin → refinery/admin}/_menu.html.erb +4 -4
  271. data/app/views/{shared → refinery}/admin/_resource_picker.html.erb +14 -23
  272. data/app/views/{shared → refinery}/admin/_search.html.erb +1 -1
  273. data/app/views/{shared → refinery}/admin/_sortable_list.html.erb +0 -0
  274. data/app/views/{shared → refinery}/admin/_tabbed_fields.html.erb +2 -2
  275. data/app/views/{admin → refinery/admin}/dialogs/show.html.erb +0 -0
  276. data/app/views/refinery/sitemap/index.xml.builder +25 -0
  277. data/app/views/{wymiframe.html.erb → refinery/wymiframe.html.erb} +2 -3
  278. data/config/initializers/will_paginate_monkeypatch.rb +21 -0
  279. data/config/locales/bg.yml +24 -29
  280. data/config/locales/cs.yml +20 -25
  281. data/config/locales/da.yml +19 -24
  282. data/config/locales/de.yml +19 -24
  283. data/config/locales/el.yml +19 -24
  284. data/config/locales/en.yml +25 -31
  285. data/config/locales/es.yml +12 -17
  286. data/config/locales/fi.yml +22 -27
  287. data/config/locales/fr.yml +19 -24
  288. data/config/locales/it.yml +19 -40
  289. data/config/locales/{jp.yml → ja.yml} +25 -28
  290. data/config/locales/ko.yml +76 -0
  291. data/config/locales/lt.yml +19 -24
  292. data/config/locales/lv.yml +21 -26
  293. data/config/locales/nb.yml +19 -24
  294. data/config/locales/nl.yml +19 -24
  295. data/config/locales/pl.yml +19 -24
  296. data/config/locales/pt-BR.yml +19 -24
  297. data/config/locales/rs.yml +19 -25
  298. data/config/locales/ru.yml +37 -38
  299. data/config/locales/sk.yml +19 -24
  300. data/config/locales/sl.yml +12 -21
  301. data/config/locales/sv.yml +19 -24
  302. data/config/locales/vi.yml +19 -24
  303. data/config/locales/zh-CN.yml +19 -24
  304. data/config/locales/zh-TW.yml +19 -24
  305. data/config/routes.rb +5 -10
  306. data/lib/generators/refinery/clash_keywords.yml +3 -0
  307. data/lib/generators/refinery/cms/cms_generator.rb +238 -0
  308. data/lib/generators/{templates → refinery/cms/templates}/.gitignore +3 -1
  309. data/lib/generators/refinery/cms/templates/app/decorators/controllers/refinery/.gitkeep +0 -0
  310. data/lib/generators/refinery/cms/templates/app/decorators/models/refinery/.gitkeep +0 -0
  311. data/lib/generators/{templates → refinery/cms/templates}/app/views/sitemap/index.xml.builder +1 -1
  312. data/lib/generators/{templates → refinery/cms/templates}/config/database.yml.mysql +5 -5
  313. data/lib/generators/{templates → refinery/cms/templates}/config/database.yml.postgresql +26 -25
  314. data/lib/generators/{templates → refinery/cms/templates}/config/database.yml.sqlite3 +1 -9
  315. data/lib/generators/refinery/cms/templates/config/initializers/devise.rb +229 -0
  316. data/lib/generators/refinery/core/core_generator.rb +9 -0
  317. data/lib/generators/refinery/core/templates/config/initializers/refinery/core.rb.erb +48 -0
  318. data/lib/generators/refinery/dummy/dummy_generator.rb +86 -0
  319. data/lib/generators/refinery/dummy/templates/rails/Rakefile +7 -0
  320. data/lib/generators/refinery/dummy/templates/rails/application.rb +14 -0
  321. data/lib/generators/refinery/dummy/templates/rails/boot.rb +6 -0
  322. data/lib/generators/refinery/dummy/templates/rails/database.yml +34 -0
  323. data/lib/generators/refinery/dummy/templates/rails/routes.rb +3 -0
  324. data/lib/generators/refinery/engine/USAGE +24 -0
  325. data/lib/generators/refinery/engine/engine_generator.rb +36 -0
  326. data/lib/generators/refinery/engine/templates/Gemfile +69 -0
  327. data/lib/generators/refinery/engine/templates/Guardfile +27 -0
  328. data/lib/generators/refinery/engine/templates/Rakefile +20 -0
  329. data/lib/generators/refinery/engine/templates/app/controllers/refinery/namespace/admin/plural_name_controller.rb +14 -0
  330. data/lib/generators/refinery/engine/templates/app/controllers/refinery/namespace/plural_name_controller.rb +34 -0
  331. data/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb +28 -0
  332. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_actions.html.erb +25 -0
  333. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_form.html.erb +67 -0
  334. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_locale_picker.html.erb +11 -0
  335. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_plural_name.html.erb +2 -0
  336. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +18 -0
  337. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +32 -0
  338. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_sortable_list.html.erb +5 -0
  339. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/edit.html.erb +1 -0
  340. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/index.html.erb +7 -0
  341. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/new.html.erb +1 -0
  342. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/plural_name/index.html.erb +11 -0
  343. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/plural_name/show.html.erb +39 -0
  344. data/lib/generators/refinery/engine/templates/config/locales/en.yml +28 -0
  345. data/lib/generators/refinery/engine/templates/config/locales/es.yml +29 -0
  346. data/lib/generators/refinery/engine/templates/config/locales/fr.yml +28 -0
  347. data/lib/generators/refinery/engine/templates/config/locales/nb.yml +28 -0
  348. data/lib/generators/refinery/engine/templates/config/locales/nl.yml +28 -0
  349. data/lib/generators/refinery/engine/templates/config/routes.rb +19 -0
  350. data/lib/generators/refinery/engine/templates/db/migrate/1_create_namespace_plural_name.rb +39 -0
  351. data/lib/generators/refinery/engine/templates/db/seeds.rb +23 -0
  352. data/lib/generators/refinery/engine/templates/lib/generators/refinery/extension_plural_name_generator.rb +18 -0
  353. data/lib/generators/refinery/engine/templates/lib/refinery/plural_name/engine.rb +30 -0
  354. data/lib/generators/refinery/engine/templates/lib/refinery/plural_name.rb +21 -0
  355. data/lib/generators/refinery/engine/templates/lib/refinerycms-extension_plural_name.rb +1 -0
  356. data/lib/generators/refinery/engine/templates/lib/tasks/refinery/extension_plural_name.rake +13 -0
  357. data/lib/generators/refinery/engine/templates/readme.md +10 -0
  358. data/lib/generators/refinery/engine/templates/refinerycms-extension_plural_name.gemspec +18 -0
  359. data/lib/generators/refinery/engine/templates/spec/models/refinery/namespace/singular_name_spec.rb +20 -0
  360. data/lib/generators/refinery/engine/templates/spec/requests/refinery/namespace/admin/plural_name_spec.rb +200 -0
  361. data/lib/generators/refinery/engine/templates/spec/spec_helper.rb +50 -0
  362. data/lib/generators/refinery/engine/templates/spec/support/factories/refinery/plural_name.rb +7 -0
  363. data/lib/generators/refinery/engine/templates/tasks/rspec.rake +6 -0
  364. data/lib/generators/refinery/engine/templates/tasks/testing.rake +8 -0
  365. data/lib/generators/refinery/form/USAGE +20 -0
  366. data/lib/generators/refinery/form/form_generator.rb +31 -0
  367. data/lib/generators/refinery/form/templates/.gitkeep +0 -0
  368. data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/admin/plural_name_controller.rb +54 -0
  369. data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/admin/settings_controller.rb +51 -0
  370. data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/plural_name_controller.rb +53 -0
  371. data/lib/generators/refinery/form/templates/app/mailers/refinery/namespace/mailer.rb +22 -0
  372. data/lib/generators/refinery/form/templates/app/models/refinery/namespace/setting.rb +34 -0
  373. data/lib/generators/refinery/form/templates/app/models/refinery/namespace/singular_name.rb +46 -0
  374. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +23 -0
  375. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +25 -0
  376. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_submenu.html.erb +29 -0
  377. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/index.html.erb +4 -0
  378. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/show.html.erb +52 -0
  379. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/spam.html.erb +26 -0
  380. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/_confirmation_email_form.html.erb +51 -0
  381. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/_notification_recipients_form.html.erb +21 -0
  382. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/edit.html.erb +5 -0
  383. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/mailer/confirmation.html.erb +1 -0
  384. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/mailer/notification.html.erb +17 -0
  385. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/plural_name/new.html.erb +43 -0
  386. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/plural_name/thank_you.html.erb +1 -0
  387. data/lib/generators/refinery/form/templates/config/locales/da.yml +69 -0
  388. data/lib/generators/refinery/form/templates/config/locales/de.yml +78 -0
  389. data/lib/generators/refinery/form/templates/config/locales/en.yml +78 -0
  390. data/lib/generators/refinery/form/templates/config/locales/es.yml +70 -0
  391. data/lib/generators/refinery/form/templates/config/locales/fr.yml +78 -0
  392. data/lib/generators/refinery/form/templates/config/locales/it.yml +68 -0
  393. data/lib/generators/refinery/form/templates/config/locales/lv.yml +77 -0
  394. data/lib/generators/refinery/form/templates/config/locales/nb.yml +78 -0
  395. data/lib/generators/refinery/form/templates/config/locales/nl.yml +77 -0
  396. data/lib/generators/refinery/form/templates/config/locales/pt-BR.yml +78 -0
  397. data/lib/generators/refinery/form/templates/config/locales/ru.yml +80 -0
  398. data/lib/generators/refinery/form/templates/config/locales/sl.yml +69 -0
  399. data/lib/generators/refinery/form/templates/config/locales/zh-CN.yml +4 -0
  400. data/lib/generators/refinery/form/templates/config/routes.rb +26 -0
  401. data/lib/generators/refinery/form/templates/db/migrate/1_create_plural_name.rb +42 -0
  402. data/lib/generators/refinery/form/templates/db/seeds.rb +27 -0
  403. data/lib/generators/refinery/form/templates/lib/generators/refinery/plural_name_generator.rb +20 -0
  404. data/lib/generators/refinery/form/templates/lib/refinery/plural_name/engine.rb +30 -0
  405. data/lib/generators/refinery/form/templates/lib/refinery/plural_name.rb +17 -0
  406. data/lib/generators/refinery/form/templates/lib/refinerycms-plural_name.rb +1 -0
  407. data/lib/generators/refinery/form/templates/refinerycms-plural_name.gemspec +19 -0
  408. data/lib/refinery/activity.rb +75 -18
  409. data/lib/refinery/admin/base_controller.rb +49 -66
  410. data/lib/refinery/application_controller.rb +59 -79
  411. data/lib/refinery/base_presenter.rb +25 -23
  412. data/lib/refinery/catch_all_routes.rb +1 -1
  413. data/lib/refinery/cli.rb +162 -0
  414. data/lib/refinery/core/configuration.rb +57 -0
  415. data/lib/refinery/core/engine.rb +143 -0
  416. data/lib/refinery/core.rb +179 -0
  417. data/lib/refinery/crud.rb +74 -54
  418. data/lib/refinery/engine.rb +56 -12
  419. data/lib/refinery/errors.rb +13 -0
  420. data/lib/refinery/ext/action_view/helpers/form_builder.rb +7 -0
  421. data/lib/refinery/ext/action_view/helpers/form_helper.rb +20 -0
  422. data/lib/refinery/ext/action_view/helpers/form_tag_helper.rb +10 -0
  423. data/lib/refinery/extension_generation.rb +258 -0
  424. data/lib/refinery/menu.rb +0 -19
  425. data/lib/refinery/menu_item.rb +32 -14
  426. data/lib/refinery/plugin.rb +19 -43
  427. data/lib/refinery/plugins.rb +2 -2
  428. data/lib/refinery/version.rb +16 -0
  429. data/lib/refinerycms-core.rb +1 -175
  430. data/lib/tasks/refinery.rake +2 -191
  431. data/lib/tasks/yard.rake +1 -1
  432. data/refinerycms-core.gemspec +23 -422
  433. data/spec/controllers/refinery/admin/refinery_core_controller_spec.rb +20 -0
  434. data/spec/controllers/{fast_controller_spec.rb → refinery/fast_controller_spec.rb} +3 -1
  435. data/spec/controllers/refinery/sitemap_controller_spec.rb +28 -0
  436. data/spec/helpers/refinery/custom_assets_helper_spec.rb +53 -0
  437. data/spec/helpers/refinery/html_truncation_helper_spec.rb +26 -0
  438. data/spec/helpers/refinery/pagination_helper_spec.rb +35 -0
  439. data/spec/helpers/refinery/tag_helper_spec.rb +23 -0
  440. data/spec/helpers/refinery/translation_helper_spec.rb +14 -0
  441. data/spec/lib/generators/refinery/cms/cms_generator_spec.rb +47 -0
  442. data/spec/lib/generators/refinery/core/core_generator_spec.rb +29 -0
  443. data/spec/lib/generators/refinery/engine/engine_generator_spec.rb +84 -0
  444. data/spec/lib/generators/refinery/engine/engine_generator_with_i18n_spec.rb +85 -0
  445. data/spec/lib/generators/refinery/engine/engine_generator_without_frontend_spec.rb +77 -0
  446. data/spec/lib/generators/refinery/form/form_generator_spec.rb +91 -0
  447. data/spec/lib/refinery/activity_spec.rb +38 -0
  448. data/spec/lib/refinery/application_controller_spec.rb +28 -0
  449. data/spec/lib/refinery/core_spec.rb +176 -0
  450. data/spec/lib/refinery/plugin_spec.rb +36 -34
  451. data/spec/lib/refinery/plugins_spec.rb +42 -16
  452. data/spec/requests/refinery/admin/custom_assets_spec.rb +32 -0
  453. data/spec/requests/refinery/admin/dialogs_spec.rb +28 -0
  454. data/spec/requests/refinery/search_spec.rb +71 -0
  455. data/spec/requests/refinery/site_bar_spec.rb +49 -0
  456. data/spec/support/background_selenium_firefox_driver.rb +14 -0
  457. data/spec/support/database_cleaner.rb +15 -0
  458. data/spec/support/fixtures/invalid_engine.rb +6 -0
  459. data/spec/support/fixtures/valid_engine.rb +13 -0
  460. data/spec/support/refinery.rb +14 -0
  461. metadata +626 -439
  462. data/app/controllers/admin/dialogs_controller.rb +0 -23
  463. data/app/controllers/admin/refinery_core_controller.rb +0 -12
  464. data/app/controllers/sitemap_controller.rb +0 -18
  465. data/app/views/admin/_head.html.erb +0 -21
  466. data/app/views/admin/_javascripts.html.erb +0 -33
  467. data/app/views/layouts/admin.html.erb +0 -24
  468. data/app/views/layouts/admin_dialog.html.erb +0 -14
  469. data/app/views/shared/_content_page.html.erb +0 -63
  470. data/app/views/shared/_footer.html.erb +0 -4
  471. data/app/views/shared/_head.html.erb +0 -20
  472. data/app/views/shared/_header.html.erb +0 -7
  473. data/app/views/shared/_menu.html.erb +0 -19
  474. data/app/views/shared/_menu_branch.html.erb +0 -19
  475. data/app/views/shared/_message.html.erb +0 -10
  476. data/app/views/shared/admin/_make_sortable.html.erb +0 -13
  477. data/app/views/welcome.html.erb +0 -17
  478. data/config/locales/lolcat.yml +0 -71
  479. data/doc/included-jquery-ui-packages.jpg +0 -0
  480. data/features/dialogs.feature +0 -20
  481. data/features/search.feature +0 -55
  482. data/features/site_bar.feature +0 -27
  483. data/features/step_definitions/core_steps.rb +0 -59
  484. data/features/support/paths.rb +0 -18
  485. data/features/uploads/beach.jpeg +0 -0
  486. data/features/uploads/refinery_is_awesome.txt +0 -1
  487. data/lib/gemspec.rb +0 -44
  488. data/lib/generators/refinerycms_generator.rb +0 -124
  489. data/lib/generators/templates/autotest/autotest.rb +0 -17
  490. data/lib/generators/templates/autotest/discover.rb +0 -2
  491. data/lib/generators/templates/config/initializers/devise.rb +0 -144
  492. data/lib/generators/templates/db/seeds.rb +0 -5
  493. data/lib/refinery/admin_base_controller.rb +0 -5
  494. data/lib/refinery/application.rb +0 -47
  495. data/lib/refinery/application_helper.rb +0 -19
  496. data/lib/refinery/configuration.rb +0 -29
  497. data/lib/refinery/helpers/form_helper.rb +0 -66
  498. data/lib/refinery/helpers/head_helper.rb +0 -17
  499. data/lib/refinery/helpers/html_truncation_helper.rb +0 -25
  500. data/lib/refinery/helpers/image_helper.rb +0 -42
  501. data/lib/refinery/helpers/menu_helper.rb +0 -98
  502. data/lib/refinery/helpers/meta_helper.rb +0 -78
  503. data/lib/refinery/helpers/pagination_helper.rb +0 -16
  504. data/lib/refinery/helpers/script_helper.rb +0 -36
  505. data/lib/refinery/helpers/site_bar_helper.rb +0 -32
  506. data/lib/refinery/helpers/tag_helper.rb +0 -22
  507. data/lib/refinery/helpers/translation_helper.rb +0 -17
  508. data/lib/tasks/doc.rake +0 -29
  509. data/public/javascripts/i18n-messages.js +0 -2
  510. data/public/javascripts/jquery-min.js +0 -16
  511. data/public/javascripts/jquery-ui-custom-min.js +0 -252
  512. data/public/javascripts/jquery.js +0 -8374
  513. data/public/javascripts/modernizr-min.js +0 -2
  514. data/public/javascripts/rails.js +0 -297
  515. data/public/javascripts/refinery/i18n.js +0 -340
  516. data/public/javascripts/refinery/nestedsortables.js +0 -164
  517. data/public/javascripts/refinery/serializelist.js +0 -66
  518. data/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +0 -5262
  519. data/public/javascripts/wymeditor/lang/pt-BR.js +0 -47
  520. data/public/stylesheets/application.css +0 -4
  521. data/public/stylesheets/formatting.css +0 -4
  522. data/public/stylesheets/refinery/application.css +0 -76
  523. data/public/stylesheets/refinery/site_bar.css +0 -87
  524. data/public/stylesheets/refinery/submenu.css +0 -22
  525. data/public/stylesheets/refinery/tooltips.css +0 -34
  526. data/public/stylesheets/theme.css +0 -4
  527. data/spec/controllers/refinery_core_controller_spec.rb +0 -18
  528. data/spec/controllers/sitemap_controller_spec.rb +0 -27
@@ -0,0 +1,20 @@
1
+ module ::Refinery
2
+ class SitemapController < ::Refinery::FastController
3
+ layout nil
4
+
5
+ def index
6
+ headers['Content-Type'] = 'application/xml'
7
+
8
+ respond_to do |format|
9
+ format.xml do
10
+ @locales = if defined?(::Refinery::I18n) && ::Refinery::I18n.enabled?
11
+ ::Refinery::I18n.frontend_locales
12
+ else
13
+ [::I18n.locale]
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  # Methods added to this helper will be available to all templates in the application.
2
2
 
3
- module ApplicationHelper
3
+ module ::ApplicationHelper
4
4
 
5
5
  end
@@ -0,0 +1,11 @@
1
+ module Refinery
2
+ module CustomAssetsHelper
3
+ def custom_javascripts
4
+ ::Refinery::Core.javascripts
5
+ end
6
+
7
+ def custom_stylesheets
8
+ ::Refinery::Core.stylesheets
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ require 'truncate_html'
2
+
3
+ module Refinery
4
+ module HtmlTruncationHelper
5
+
6
+ # Like the Rails _truncate_ helper but doesn't break HTML tags, entities, and words.
7
+ # <script> tags pass through and are not counted in the total.
8
+ # the omission specified _does_ count toward the total length count.
9
+ # use :link => link_to('more', post_path), or something to that effect
10
+ def truncate(text, options = {})
11
+ return unless text.present?
12
+ return super unless options.delete(:preserve_html_tags) == true # ensure preserve_html_tags doesn't pass through
13
+
14
+ max_length = options[:length] || 30
15
+ omission = options[:omission] || "..."
16
+
17
+ return truncate_html(text,
18
+ :length => max_length,
19
+ :word_boundary => true,
20
+ :omission => omission)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,37 @@
1
+ require 'ostruct'
2
+
3
+ module Refinery
4
+ module ImageHelper
5
+
6
+ # replace all system images with a thumbnail version of them (handy for all images inside a page part)
7
+ # for example, <%= content_fu(@page.content_for(:body), '96x96#c') %> converts all /system/images to a 96x96 cropped thumbnail
8
+ def content_fu(content, thumbnail)
9
+ content.gsub(%r{<img.+?src=['"](/system/images/.+?)/.+?/>}) do |image_match|
10
+ begin
11
+ uid = Dragonfly::Job.from_path(
12
+ "#{image_match.match(%r{(/system/images/.+?)/})[1]}", Dragonfly[:refinery_images]
13
+ ).uid
14
+
15
+ image_fu Image.where(:image_uid => uid).first, thumbnail
16
+ rescue
17
+ # FAIL, don't care why but return what we found initially.
18
+ image_match
19
+ end
20
+ end
21
+ end
22
+
23
+ # image_fu is a helper for inserting an image that has been uploaded into a template.
24
+ # Say for example that we had a @model.image (@model having a belongs_to :image relationship)
25
+ # and we wanted to display a thumbnail cropped to 200x200 then we can use image_fu like this:
26
+ # <%= image_fu @model.image, '200x200' %> or with no thumbnail: <%= image_fu @model.image %>
27
+ def image_fu(image, geometry = nil, options={})
28
+ if image.present?
29
+ dimensions = (image.thumbnail_dimensions(geometry) rescue {})
30
+
31
+ image_tag(image.thumbnail(geometry).url, {
32
+ :alt => image.respond_to?(:title) ? image.title : image.image_name,
33
+ }.merge(dimensions).merge(options))
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,66 @@
1
+ module Refinery
2
+ module MenuHelper
3
+
4
+ # Adds conditional caching
5
+ def cache_if(condition, name = {}, &block)
6
+ if condition
7
+ cache(name, &block)
8
+ else
9
+ yield
10
+ end
11
+
12
+ # for <%= style helpers vs <% style
13
+ nil
14
+ end
15
+
16
+ # This was extracted from app/views/refinery/_menu_branch.html.erb
17
+ # to remove the complexity of that template by reducing logic in the view.
18
+ def menu_branch_css(local_assigns)
19
+ options = local_assigns.dup
20
+ options.update(:sibling_count => options[:menu_branch].shown_siblings.length) unless options[:sibling_count]
21
+
22
+ css = []
23
+ css << Refinery::Core.menu_css[:selected] if selected_page_or_descendant_page_selected?(local_assigns[:menu_branch]) unless Refinery::Core.menu_css[:selected].nil?
24
+ css << Refinery::Core.menu_css[:first] if options[:menu_branch_counter] == 0 unless Refinery::Core.menu_css[:first].nil?
25
+ css << Refinery::Core.menu_css[:last] if options[:menu_branch_counter] == options[:sibling_count] unless Refinery::Core.menu_css[:last].nil?
26
+ css
27
+ end
28
+
29
+ # Determines whether any page underneath the supplied page is the current page according to rails.
30
+ # Just calls selected_page? for each descendant of the supplied page
31
+ # unless it first quickly determines that there are no descendants.
32
+ def descendant_page_selected?(page)
33
+ (page.rgt != page.lft + 1) && page.descendants.any? { |descendant| selected_page?(descendant) }
34
+ end
35
+
36
+ def selected_page_or_descendant_page_selected?(page)
37
+ selected_page?(page) || descendant_page_selected?(page)
38
+ end
39
+
40
+ # Determine whether the supplied page is the currently open page according to Refinery.
41
+ # Also checks whether Rails thinks it is selected after that using current_page?
42
+ def selected_page?(page)
43
+ path = request.path.sub("//", "/")
44
+ path = path.force_encoding('utf-8') if path.respond_to?(:force_encoding)
45
+
46
+ # Ensure we match the path without the locale, if present.
47
+ if ::Refinery.i18n_enabled? and path =~ %r{^/#{::I18n.locale}/}
48
+ path = path.split(%r{^/#{::I18n.locale}}).last
49
+ path = "/" if path.blank?
50
+ end
51
+
52
+ # First try to match against a "menu match" value, if available.
53
+ return true if page.try(:menu_match).present? && path =~ Regexp.new(page.menu_match)
54
+
55
+ # Find the first url that is a string.
56
+ url = [page.url]
57
+ url << ['', page.url[:path]].compact.flatten.join('/') if page.url.respond_to?(:keys)
58
+ url = url.last.match(%r{^/#{::I18n.locale.to_s}(/.*)}) ? $1 : url.detect{|u| u.is_a?(String)}
59
+
60
+ # Now use all possible vectors to try to find a valid match,
61
+ # finally passing to rails' "current_page?" method.
62
+ [path, URI.decode(path)].include?(url) || path == "/#{page.original_id}"
63
+ end
64
+
65
+ end
66
+ end
@@ -0,0 +1,52 @@
1
+ module Refinery
2
+ module MetaHelper
3
+
4
+ # This is used to display the title of the current object (normally a page) in the browser's titlebar.
5
+ #
6
+ def browser_title(yield_title=nil)
7
+ [
8
+ (yield_title if yield_title.present?),
9
+ @meta.browser_title.present? ? @meta.browser_title : @meta.path,
10
+ Refinery::Core.site_name
11
+ ].compact.join(" - ")
12
+ end
13
+
14
+ # you can override the object used for the title by supplying options[:object]
15
+ def page_title(options = {})
16
+ object = options.fetch(:object, @meta)
17
+ options.delete(:object)
18
+ options = Refinery::Pages.page_title.merge(options)
19
+
20
+ title = []
21
+ objects = (options[:chain_page_title] and object.respond_to?(:ancestors)) ? [object.ancestors, object] : [object]
22
+
23
+ objects.flatten.compact.each do |obj|
24
+ obj_title = obj.title if obj.title
25
+
26
+ # Only link when the object responds to a url method.
27
+ if options[:link] && obj.respond_to?(:url)
28
+ title << link_to(obj_title, obj.url)
29
+ else
30
+ title << obj_title
31
+ end
32
+ end
33
+
34
+ final_title = title.pop
35
+ if (options[:page_title][:wrap_if_not_chained] and title.empty?) and options[:page_title][:tag].present?
36
+ css = " class='#{options[:page_title][:class]}'" if options[:page_title][:class].present?
37
+ final_title = "<#{options[:page_title][:tag]}#{css}>#{final_title}</#{options[:page_title][:tag]}>"
38
+ end
39
+
40
+ if title.empty?
41
+ final_title.to_s.html_safe
42
+ else
43
+ tag = "<#{options[:ancestors][:tag]} class='#{options[:ancestors][:class]}'>"
44
+ tag << title.join(options[:ancestors][:separator])
45
+ tag << options[:ancestors][:separator]
46
+ tag << "</#{options[:ancestors][:tag]}>#{final_title}"
47
+ tag.html_safe
48
+ end
49
+ end
50
+
51
+ end
52
+ end
@@ -0,0 +1,14 @@
1
+ module Refinery
2
+ module PaginationHelper
3
+
4
+ # Figures out the CSS classname to apply to your pagination list for animations.
5
+ def pagination_css_class
6
+ if request.xhr? and params[:from_page].present?
7
+ "frame_#{params[:from_page] > (params[:page] ? params[:page] : "1") ? 'left' : 'right'}"
8
+ else
9
+ "frame_center"
10
+ end
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,30 @@
1
+ module Refinery
2
+ module SiteBarHelper
3
+
4
+ # Generates the link to determine where the site bar switch button returns to.
5
+ def site_bar_switch_link
6
+ link_to_if(admin?, t('.switch_to_your_website', site_bar_translate_locale_args),
7
+ (if session.keys.map(&:to_sym).include?(:website_return_to) and session[:website_return_to].present?
8
+ session[:website_return_to]
9
+ else
10
+ refinery.root_path(:locale => (Refinery::I18n.default_frontend_locale if Refinery.i18n_enabled?))
11
+ end)) do
12
+ link_to t('.switch_to_your_website_editor', site_bar_translate_locale_args),
13
+ (if session.keys.map(&:to_sym).include?(:refinery_return_to) and session[:refinery_return_to].present?
14
+ session[:refinery_return_to]
15
+ else
16
+ refinery.admin_root_path
17
+ end rescue refinery.admin_root_path)
18
+ end
19
+ end
20
+
21
+ def site_bar_translate_locale_args
22
+ if Refinery.i18n_enabled?
23
+ { :locale => Refinery::I18n.current_locale }
24
+ else
25
+ {}
26
+ end
27
+ end
28
+
29
+ end
30
+ end
@@ -0,0 +1,20 @@
1
+ module Refinery
2
+ module TagHelper
3
+
4
+ # Returns <img class='help' tooltip='Your Input' src='refinery/icons/information.png' />
5
+ # Remember to wrap your block with <span class='label_with_help'></span> if you're using a label next to the help tag.
6
+ def refinery_help_tag(title='')
7
+ title = h(title) unless title.html_safe?
8
+
9
+ refinery_icon_tag('information', :class => 'help', :tooltip => title)
10
+ end
11
+
12
+ # This is just a quick wrapper to render an image tag that lives inside refinery/icons.
13
+ # They are all 16x16 so this is the default but is able to be overriden with supplied options.
14
+ def refinery_icon_tag(filename, options = {})
15
+ filename = "#{filename}.png" unless filename.split('.').many?
16
+ image_tag "refinery/icons/#{filename}", {:width => 16, :height => 16}.merge(options)
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ module Refinery
2
+ module TranslationHelper
3
+
4
+ # Overrides Rails' core I18n.t() function to produce a more helpful error message.
5
+ # The default one wreaks havoc with CSS and makes it hard to understand the problem.
6
+ def t(key, options = {})
7
+ if (val = super) =~ /class.+?translation_missing/
8
+ val = val.to_s.gsub(/<span[^>]*>/, 'i18n: ').gsub('</span>', '').gsub(', ', '.')
9
+ end
10
+
11
+ val
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ # If any changes are made to this class then the application will require a restart
2
+ # This is because this class is added to autoload_once_paths in lib/refinery/core/engine.rb.
3
+ module Refinery
4
+ module Core
5
+ class BaseModel < ActiveRecord::Base
6
+
7
+ self.abstract_class = true
8
+
9
+ end
10
+ end
11
+ end
@@ -1,21 +1,21 @@
1
1
  <!DOCTYPE html>
2
- <%= render :partial => "/shared/html_tag" %>
3
- <% site_bar = render(:partial => "/shared/site_bar", :locals => {:head => true}) -%>
4
- <%= render :partial => "/shared/head" %>
2
+ <%= render '/refinery/html_tag' %>
3
+ <% site_bar = render('/refinery/site_bar', :head => true) -%>
4
+ <%= render '/refinery/head' %>
5
5
  <body>
6
6
  <%= site_bar -%>
7
- <%= render :partial => "/shared/ie6check" if request.env['HTTP_USER_AGENT'] =~ /MSIE/ -%>
7
+ <%= render '/refinery/ie6check' if request.env['HTTP_USER_AGENT'] =~ /MSIE/ -%>
8
8
  <div id="page_container">
9
- <header>
10
- <%= render :partial => "/shared/header" -%>
9
+ <header id="header">
10
+ <%= render '/refinery/header' -%>
11
11
  </header>
12
- <section id='page'>
12
+ <section id="page">
13
13
  <%= yield %>
14
14
  </section>
15
15
  <footer>
16
- <%= render :partial => "/shared/footer" -%>
16
+ <%= render '/refinery/footer' -%>
17
17
  </footer>
18
18
  </div>
19
- <%= render :partial => "/shared/javascripts" %>
19
+ <%= render '/refinery/javascripts' %>
20
20
  </body>
21
21
  </html>
@@ -0,0 +1,23 @@
1
+ <!DOCTYPE html>
2
+ <%= render '/refinery/html_tag' %>
3
+ <% content_for :meta, "<meta refinerycms='#{Refinery.version}' />".html_safe %>
4
+ <%= render 'refinery/admin/head' %>
5
+ <body class="<%= action_name %> <%= I18n.locale %>">
6
+ <%= render '/refinery/site_bar' %>
7
+ <div id='tooltip_container'></div>
8
+ <header id="header">
9
+ <%= render 'refinery/admin/menu' %>
10
+ </header>
11
+ <div id="page_container">
12
+ <div id="page">
13
+ <div id="content" class="clearfix">
14
+ <div id="flash_container">
15
+ <%= render '/refinery/no_script' %>
16
+ <%= render '/refinery/message' %>
17
+ </div>
18
+ <%= yield %>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ </body>
23
+ </html>
@@ -0,0 +1,17 @@
1
+ <!DOCTYPE html>
2
+ <%= render '/refinery/html_tag' %>
3
+ <% if @dialog_successful ||= params[:dialog_successful] %>
4
+ <%= render '/refinery/admin/dialog_success' %>
5
+ <% else %>
6
+ <%= render '/refinery/admin/head' %>
7
+ <body id='dialog_container' class='dialog <%= I18n.locale %><%= ' wym_iframe_body' if params[:wymeditor].presence %>'>
8
+ <div id='tooltip_container'></div>
9
+ <div id="flash_container">
10
+ <%= render '/refinery/message' %>
11
+ </div>
12
+ <div id='content' class='clearfix'>
13
+ <%= yield %>
14
+ </div>
15
+ </body>
16
+ <% end %>
17
+ </html>
@@ -0,0 +1,2 @@
1
+ <%= render :partial => '/refinery/message' if request.xhr? %>
2
+ <%= yield %>
@@ -0,0 +1,2 @@
1
+ <%= render_content_page(@page, {:hide_sections => local_assigns[:hide_sections], :can_use_fallback => !local_assigns[:show_empty_sections] && !local_assigns[:remove_automatic_sections]}) %>
2
+ <%= render :partial => '/refinery/draft_page_message' unless @page.nil? or @page.live? -%>
@@ -0,0 +1,4 @@
1
+ <p>
2
+ <%= t('.copyright', :year => Time.now.year,
3
+ :site_name => Refinery::Core.site_name) %>
4
+ </p>
@@ -1,5 +1,5 @@
1
- <% unless refinery_user? or
2
- (page_code = RefinerySetting.find_or_set(:analytics_page_code, 'UA-xxxxxx-x').to_s.strip) =~ /^(UA-xxxxxx-x)?$/ -%>
1
+ <% page_code = Refinery::Core.google_analytics_page_code.to_s.strip %>
2
+ <% unless local_request? or refinery_user? or page_code =~ /^(UA-xxxxxx-x)?$/ -%>
3
3
  <!-- asynchronous google analytics: mathiasbynens.be/notes/async-analytics-snippet -->
4
4
  <script>var _gaq=[['_setAccount','<%= page_code %>'],['_trackPageview'],['_trackPageLoadTime']];(function(d,t){
5
5
  var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@@ -0,0 +1,18 @@
1
+ <head>
2
+ <meta charset='<%= Rails.application.config.encoding %>' />
3
+ <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><![endif]-->
4
+ <title><%= browser_title(yield(:title)) %></title>
5
+ <%= raw(%(<meta name="description" content="#{@meta.meta_description}" />)) if @meta.meta_description.present? -%>
6
+ <%= raw(%(<meta name="keywords" content="#{@meta.meta_keywords}">)) if @meta.meta_keywords.present? -%>
7
+ <%= raw(%(<link rel="canonical" content="#{@canonical}" />)) if @canonical.present? -%>
8
+ <%= csrf_meta_tags if Refinery::Core.authenticity_token_on_frontend -%>
9
+ <%= yield :meta %>
10
+
11
+ <%= stylesheet_link_tag "application", "formatting", "theme" %>
12
+ <%= stylesheet_link_tag "home" if home_page? %>
13
+ <%= yield :stylesheets %>
14
+
15
+ <%= render '/refinery/google_analytics' %>
16
+
17
+ <%= javascript_include_tag 'modernizr-min' %>
18
+ </head>
@@ -0,0 +1,7 @@
1
+ <h1 id='logo'>
2
+ <%= link_to Refinery::Core.site_name, refinery.root_path %>
3
+ </h1>
4
+ <%= render(:partial => "/refinery/menu", :locals => {
5
+ :dom_id => 'menu',
6
+ :css => 'menu'
7
+ }) %>
File without changes
@@ -1,4 +1,4 @@
1
- <% if RefinerySetting.find_or_set(:ie6_upgrade_message_enabled, true) -%>
1
+ <% if Refinery::Core.ie6_upgrade_message_enabled -%>
2
2
  <% unless admin? %>
3
3
  <!--[if lte IE 6]>
4
4
  <div id="ie6msg_wrapper">
@@ -54,7 +54,7 @@
54
54
  $(document).ready(function() {
55
55
  $('#flash.flash_message:has("#upgrade_wrapper") #flash_close').click(function(e) {
56
56
  e.preventDefault();
57
- $.get('<%= admin_disable_upgrade_message_path %>');
57
+ $.get('<%= refinery.admin_disable_upgrade_message_path %>');
58
58
  });
59
59
  });
60
60
  </script>
@@ -0,0 +1,20 @@
1
+ <%
2
+ # Collect the root items.
3
+ # ::Refinery::Menu is smart enough to remember all of the items in the original collection.
4
+ if (roots = local_assigns[:roots] || (collection ||= refinery_menu_pages).roots).present?
5
+ dom_id ||= 'menu'
6
+ css = [(css || 'menu clearfix')].flatten.join(' ')
7
+ hide_children = Refinery::Core.menu_hide_children if hide_children.nil?
8
+ -%>
9
+ <nav id='<%= dom_id %>' class='<%= css %>'>
10
+ <ul>
11
+ <%= render :partial => '/refinery/menu_branch', :collection => roots,
12
+ :locals => {
13
+ :hide_children => hide_children,
14
+ :sibling_count => (roots.length - 1),
15
+ :menu_levels => local_assigns[:menu_levels],
16
+ :apply_css => true #if you don't care about class='first' class='last' or class='selected' set apply_css to false for speed.
17
+ } -%>
18
+ </ul>
19
+ </nav>
20
+ <% end -%>
@@ -0,0 +1,19 @@
1
+ <%
2
+ if !!local_assigns[:apply_css] and (classes = menu_branch_css(local_assigns)).any?
3
+ css = "class='#{classes.join(' ')}'".html_safe
4
+ end
5
+ -%>
6
+ <li<%= ['', css].compact.join(' ').gsub(/\ *$/, '').html_safe %>>
7
+ <%= link_to(menu_branch.title, refinery.url_for(menu_branch.url)) -%>
8
+ <% if ( (children = menu_branch.children unless hide_children).present? &&
9
+ (!local_assigns[:menu_levels] || menu_branch.ancestors.length < local_assigns[:menu_levels]) ) -%>
10
+ <ul class='clearfix'>
11
+ <%= render :partial => '/refinery/menu_branch', :collection => children,
12
+ :locals => {
13
+ :apply_css => local_assigns[:apply_css],
14
+ :hide_children => !!hide_children,
15
+ :menu_levels => local_assigns[:menu_levels]
16
+ } -%>
17
+ </ul>
18
+ <% end -%>
19
+ </li>
@@ -0,0 +1,7 @@
1
+ <% flash.each do |key, value| %>
2
+ <div id='flash' class="flash flash_<%= key %>" style='visibility: hidden;' >
3
+ <%= value %>
4
+ <%= link_to t(".close#{'_this_message' if key.to_s == "message"}"), "",
5
+ :id => "flash_close" %>
6
+ </div>
7
+ <% end %>
File without changes
@@ -1,4 +1,4 @@
1
- <% if refinery_user? %>
1
+ <% if refinery_user? && "#{controller_name}##{action_name}" != 'pages#preview' %>
2
2
  <% unless admin? # all required JS included by backend. %>
3
3
  <% content_for :stylesheets, stylesheet_link_tag('refinery/site_bar') unless !!local_assigns[:exclude_css] %>
4
4
  <%= yield(:stylesheets) unless local_assigns[:head] or local_assigns[:exclude_css] %>
@@ -15,11 +15,11 @@
15
15
 
16
16
  <div id='site_bar_branding'>
17
17
  <span id='site_bar_company_name'>
18
- <%= RefinerySetting.find_or_set(:site_name, 'Company Name') %>
18
+ <%= Refinery::Core.site_name %>
19
19
  </span>
20
20
 
21
21
  <%= link_to t('.log_out', site_bar_translate_locale_args),
22
- destroy_user_session_path, :id => 'logout' %>
22
+ refinery.destroy_refinery_user_session_path, :id => 'logout' %>
23
23
  </div>
24
24
  </div>
25
25
  </div>
@@ -0,0 +1,5 @@
1
+ <head>
2
+ <script>parent.refinery_dialog_success();</script>
3
+ </head>
4
+ <body>
5
+ </body>
@@ -5,9 +5,7 @@
5
5
  submit_button_title ||= nil
6
6
  end
7
7
 
8
- unless defined?(hide_cancel).presence
9
- hide_cancel = from_dialog?
10
- end
8
+ hide_cancel = from_dialog? unless defined?(hide_cancel).presence
11
9
 
12
10
  unless hide_cancel
13
11
  cancel_button_text ||= t('.cancel')
@@ -15,8 +13,7 @@
15
13
  cancel_title = t('.cancel_lose_changes')
16
14
  end
17
15
  cancel_button_id ||= "cancel_button"
18
-
19
- cancel_url ||= (((back = url_for(:back)).include?('javascript') or action_name =~ /^(create|update)$/) ? send("admin_#{f.object_name.to_s.pluralize}_url") : back)
16
+ cancel_url ||= (((back = url_for(:back)).include?('javascript') or action_name =~ /^(create|update)$/) ? refinery.send(Refinery.route_for_model(f.object.class, true)) : back)
20
17
  end
21
18
 
22
19
  continue_editing = defined?(continue_editing) ? continue_editing : (f.object.present? and f.object.persisted?)
@@ -32,14 +29,9 @@
32
29
  delete_title ||= nil
33
30
  delete_confirmation ||= nil
34
31
  delete_button_id ||= "delete_button"
35
- delete_url ||= eval("admin_#{f.object_name}_path(#{f.object.id})")
36
- end
37
-
38
- paginate_collection = nil
39
- if (paginate ||= {}).length > 0 && paginate.keys.include?(:collection)
40
- paginate_collection = paginate.delete(:collection)
32
+ # we have to use eval rather than refinery.send because this url may not exist for HTTP GET
33
+ delete_url ||= eval("refinery.#{Refinery.route_for_model(f.object.class)}(#{f.object.id})")
41
34
  end
42
- paginate.delete(:url)
43
35
  -%>
44
36
  <% if from_dialog? %>
45
37
  <input type='hidden' name='modal' value='true' />
@@ -54,22 +46,26 @@
54
46
  :class => "wymupdate button",
55
47
  :tooltip => submit_button_title unless hide_submit %>
56
48
 
57
- <%= render :partial => "/shared/admin/continue_editing", :locals => {:f => f} if continue_editing -%>
49
+ <%= render '/refinery/admin/continue_editing', :f => f if continue_editing -%>
58
50
  <%= hidden_field_tag :continue_editing, false if continue_editing %>
59
51
 
52
+ <%= local_assigns[:before_cancel_button] -%>
53
+
60
54
  <%= link_to(cancel_button_text, cancel_url,
61
55
  :title => cancel_title,
62
56
  :id => cancel_button_id,
63
57
  :class => "close_dialog button") unless hide_cancel %>
58
+
59
+ <%= local_assigns[:after_cancel_button] -%>
64
60
  </div>
65
61
  <div class='form-actions-right'>
62
+ <%= local_assigns[:before_delete_button] -%>
66
63
  <%= link_to(delete_button_text, delete_url,
67
64
  :title => delete_title,
68
65
  :id => delete_button_id,
69
66
  :method => :delete,
70
67
  :confirm => delete_confirmation,
71
68
  :class => "button confirm-delete") unless hide_delete %>
72
-
73
- <%= will_paginate paginate_collection, paginate unless paginate_collection.nil? %>
69
+ <%= local_assigns[:after_delete_button] -%>
74
70
  </div>
75
71
  </div>
@@ -0,0 +1,13 @@
1
+ <head>
2
+ <meta charset='<%= ::Rails.application.config.encoding %>' />
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
4
+ <%= yield :meta %>
5
+ <title><%= Refinery::Core.site_name -%> - Refinery</title>
6
+ <%= csrf_meta_tags %>
7
+ <%= stylesheet_link_tag 'refinery/refinery' %>
8
+ <% custom_stylesheets.each do |css| %>
9
+ <%= stylesheet_link_tag css.path, css.options %>
10
+ <% end %>
11
+ <%= yield :stylesheets %>
12
+ <%= render 'refinery/admin/javascripts' %>
13
+ </head>