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,776 @@
1
+ /**
2
+ * XhtmlValidator for validating tag attributes
3
+ *
4
+ * @author Bermi Ferrer - http://bermi.org
5
+ */
6
+ WYMeditor.XhtmlValidator = {
7
+ "_attributes":
8
+ {
9
+ "core":
10
+ {
11
+ "except":<%= [
12
+ "base",
13
+ "head",
14
+ "html",
15
+ "meta",
16
+ "param",
17
+ "script",
18
+ "style",
19
+ "title"
20
+ ].reject{|a| Refinery::Core.wymeditor_whitelist_tags.keys.map(&:to_s).include?(a)}.inspect %>,
21
+ "attributes":[
22
+ "class",
23
+ "id",
24
+ "style",
25
+ "title",
26
+ "accesskey",
27
+ "tabindex",
28
+ "data",
29
+ "^data-.*"
30
+ ]
31
+ },
32
+ "language":
33
+ {
34
+ "except":<%= [
35
+ "base",
36
+ "br",
37
+ "hr",
38
+ "iframe",
39
+ "param",
40
+ "script"
41
+ ].reject{|a| Refinery::Core.wymeditor_whitelist_tags.keys.map(&:to_s).include?(a)}.inspect %>,
42
+ "attributes":
43
+ {
44
+ "dir":[
45
+ "ltr",
46
+ "rtl"
47
+ ],
48
+ "0":"lang",
49
+ "1":"xml:lang"
50
+ }
51
+ },
52
+ "keyboard":
53
+ {
54
+ "attributes":
55
+ {
56
+ "accesskey":/^(\w){1}$/,
57
+ "tabindex":/^(\d)+$/
58
+ }
59
+ }
60
+ },
61
+ "_events":
62
+ {
63
+ "window":
64
+ {
65
+ "only":[
66
+ "body"
67
+ ],
68
+ "attributes":[
69
+ "onload",
70
+ "onunload"
71
+ ]
72
+ },
73
+ "form":
74
+ {
75
+ "only":[
76
+ "form",
77
+ "input",
78
+ "textarea",
79
+ "select",
80
+ "a",
81
+ "label",
82
+ "button"
83
+ ],
84
+ "attributes":[
85
+ "onchange",
86
+ "onsubmit",
87
+ "onreset",
88
+ "onselect",
89
+ "onblur",
90
+ "onfocus"
91
+ ]
92
+ },
93
+ "keyboard":
94
+ {
95
+ "except":<%= [
96
+ "base",
97
+ "bdo",
98
+ "br",
99
+ "frame",
100
+ "frameset",
101
+ "head",
102
+ "html",
103
+ "iframe",
104
+ "meta",
105
+ "param",
106
+ "script",
107
+ "style",
108
+ "title"
109
+ ].reject{|a| Refinery::Core.wymeditor_whitelist_tags.keys.map(&:to_s).include?(a)}.inspect %>,
110
+ "attributes":[
111
+ "onkeydown",
112
+ "onkeypress",
113
+ "onkeyup"
114
+ ]
115
+ },
116
+ "mouse":
117
+ {
118
+ "except":<%= [
119
+ "base",
120
+ "bdo",
121
+ "br",
122
+ "head",
123
+ "html",
124
+ "meta",
125
+ "param",
126
+ "script",
127
+ "style",
128
+ "title"
129
+ ].reject{|a| Refinery::Core.wymeditor_whitelist_tags.keys.map(&:to_s).include?(a)}.inspect %>,
130
+ "attributes":[
131
+ "onclick",
132
+ "ondblclick",
133
+ "onmousedown",
134
+ "onmousemove",
135
+ "onmouseover",
136
+ "onmouseout",
137
+ "onmouseup"
138
+ ]
139
+ }
140
+ },
141
+ "_tags":
142
+ {
143
+ "a":
144
+ {
145
+ "attributes":
146
+ {
147
+ "0":"charset",
148
+ "1":"coords",
149
+ "2":"href",
150
+ "3":"hreflang",
151
+ "4":"name",
152
+ "rel":/^(alternate|designates|stylesheet|start|next|nofollow|prev|contents|index|glossary|copyright|chapter|section|subsection|appendix|help|bookmark| |shortcut|icon|moodalbox)+$/,
153
+ "rev":/^(alternate|designates|stylesheet|start|next|prev|contents|index|glossary|copyright|chapter|section|subsection|appendix|help|bookmark| |shortcut|icon|moodalbox)+$/,
154
+ "shape":/^(rect|rectangle|circ|circle|poly|polygon)$/,
155
+ "5":"type",
156
+ "target":/^(_blank)+$/
157
+ }
158
+ },
159
+ "0":"abbr",
160
+ "1":"acronym",
161
+ "2":"address",
162
+ "area":
163
+ {
164
+ "attributes":
165
+ {
166
+ "0":"alt",
167
+ "1":"coords",
168
+ "2":"href",
169
+ "nohref":/^(true|false)$/,
170
+ "shape":/^(rect|rectangle|circ|circle|poly|polygon)$/
171
+ },
172
+ "required":[
173
+ "alt"
174
+ ]
175
+ },
176
+ "3":"b",
177
+ "base":
178
+ {
179
+ "attributes":[
180
+ "href"
181
+ ],
182
+ "required":[
183
+ "href"
184
+ ]
185
+ },
186
+ "bdo":
187
+ {
188
+ "attributes":
189
+ {
190
+ "dir":/^(ltr|rtl)$/
191
+ },
192
+ "required":[
193
+ "dir"
194
+ ]
195
+ },
196
+ "4":"big",
197
+ "blockquote":
198
+ {
199
+ "attributes":[
200
+ "cite"
201
+ ]
202
+ },
203
+ "5":"body",
204
+ "6":"br",
205
+ "button":
206
+ {
207
+ "attributes":
208
+ {
209
+ "disabled":/^(disabled)$/,
210
+ "type":/^(button|reset|submit)$/,
211
+ "0":"value"
212
+ },
213
+ "inside":"form"
214
+ },
215
+ "7":"caption",
216
+ "8":"cite",
217
+ "9":"code",
218
+ "col":
219
+ {
220
+ "attributes":
221
+ {
222
+ "align":/^(right|left|center|justify)$/,
223
+ "0":"char",
224
+ "1":"charoff",
225
+ "span":/^(\d)+$/,
226
+ "valign":/^(top|middle|bottom|baseline)$/,
227
+ "2":"width"
228
+ },
229
+ "inside":"colgroup"
230
+ },
231
+ "colgroup":
232
+ {
233
+ "attributes":
234
+ {
235
+ "align":/^(right|left|center|justify)$/,
236
+ "0":"char",
237
+ "1":"charoff",
238
+ "span":/^(\d)+$/,
239
+ "valign":/^(top|middle|bottom|baseline)$/,
240
+ "2":"width"
241
+ }
242
+ },
243
+ "10":"dd",
244
+ "del":
245
+ {
246
+ "attributes":
247
+ {
248
+ "0":"cite",
249
+ "datetime":/^([0-9]){8}/
250
+ }
251
+ },
252
+ "11":"div",
253
+ "12":"dfn",
254
+ "13":"dl",
255
+ "14":"dt",
256
+ "15":"em",
257
+ "fieldset":
258
+ {
259
+ "inside":"form"
260
+ },
261
+ "form":
262
+ {
263
+ "attributes":
264
+ {
265
+ "0":"action",
266
+ "1":"accept",
267
+ "2":"accept-charset",
268
+ "3":"enctype",
269
+ "method":/^(get|post)$/
270
+ },
271
+ "required":[
272
+ "action"
273
+ ]
274
+ },
275
+ "head":
276
+ {
277
+ "attributes":[
278
+ "profile"
279
+ ]
280
+ },
281
+ "16":"h1",
282
+ "17":"h2",
283
+ "18":"h3",
284
+ "19":"h4",
285
+ "20":"h5",
286
+ "21":"h6",
287
+ "22":"hr",
288
+ "html":
289
+ {
290
+ "attributes":[
291
+ "xmlns"
292
+ ]
293
+ },
294
+ "23":"i",
295
+ "iframe":
296
+ {
297
+ "attributes":[
298
+ "src",
299
+ "width",
300
+ "height",
301
+ "frameborder",
302
+ "scrolling",
303
+ "marginheight",
304
+ "marginwidth"
305
+ ],
306
+ "required":[
307
+ "src"
308
+ ]
309
+ },
310
+ "img":
311
+ {
312
+ "attributes":{
313
+ "align":/^(right|left|center|justify)$/,
314
+ "0":"alt",
315
+ "1":"src",
316
+ "2":"height",
317
+ "3":"ismap",
318
+ "4":"longdesc",
319
+ "5":"usemap",
320
+ "6":"width",
321
+ "7":"rel"
322
+ },
323
+ "required":[
324
+ "alt",
325
+ "src"
326
+ ]
327
+ },
328
+ "input":
329
+ {
330
+ "attributes":
331
+ {
332
+ "0":"accept",
333
+ "1":"alt",
334
+ "checked":/^(checked)$/,
335
+ "disabled":/^(disabled)$/,
336
+ "maxlength":/^(\d)+$/,
337
+ "2":"name",
338
+ "readonly":/^(readonly)$/,
339
+ "size":/^(\d)+$/,
340
+ "3":"src",
341
+ "type":/^(button|checkbox|file|hidden|image|password|radio|reset|submit|text|tel|search|url|email|datetime|date|month|week|time|datetime-local|number|range|color|placeholder)$/,
342
+ "4":"value"
343
+ },
344
+ "inside":"form"
345
+ },
346
+ "ins":
347
+ {
348
+ "attributes":
349
+ {
350
+ "0":"cite",
351
+ "datetime":/^([0-9]){8}/
352
+ }
353
+ },
354
+ "24":"kbd",
355
+ "label":
356
+ {
357
+ "attributes":[
358
+ "for"
359
+ ],
360
+ "inside":"form"
361
+ },
362
+ "25":"legend",
363
+ "26":"li",
364
+ "link":
365
+ {
366
+ "attributes":
367
+ {
368
+ "0":"charset",
369
+ "1":"href",
370
+ "2":"hreflang",
371
+ "media":/^(all|braille|print|projection|screen|speech|,|;| )+$/i,
372
+ //next comment line required by Opera!
373
+ /*"rel":/^(alternate|appendix|bookmark|chapter|contents|copyright|glossary|help|home|index|next|prev|section|start|stylesheet|subsection| |shortcut|icon)+$/i,*/
374
+ "rel":/^(alternate|appendix|bookmark|chapter|contents|copyright|glossary|help|home|index|next|nofollow|prev|section|start|stylesheet|subsection| |shortcut|icon)+$/i,
375
+ "rev":/^(alternate|appendix|bookmark|chapter|contents|copyright|glossary|help|home|index|next|prev|section|start|stylesheet|subsection| |shortcut|icon)+$/i,
376
+ "3":"type"
377
+ },
378
+ "inside":"head"
379
+ },
380
+ "map":
381
+ {
382
+ "attributes":[
383
+ "id",
384
+ "name"
385
+ ],
386
+ "required":[
387
+ "id"
388
+ ]
389
+ },
390
+ "meta":
391
+ {
392
+ "attributes":
393
+ {
394
+ "0":"content",
395
+ "http-equiv":/^(content\-type|expires|refresh|set\-cookie)$/i,
396
+ "1":"name",
397
+ "2":"scheme"
398
+ },
399
+ "required":[
400
+ "content"
401
+ ]
402
+ },
403
+ "27":"noscript",
404
+ "28":"ol",
405
+ "optgroup":
406
+ {
407
+ "attributes":
408
+ {
409
+ "0":"label",
410
+ "disabled": /^(disabled)$/
411
+ },
412
+ "required":[
413
+ "label"
414
+ ]
415
+ },
416
+ "option":
417
+ {
418
+ "attributes":
419
+ {
420
+ "0":"label",
421
+ "disabled":/^(disabled)$/,
422
+ "selected":/^(selected)$/,
423
+ "1":"value"
424
+ },
425
+ "inside":"select"
426
+ },
427
+ "29":"p",
428
+ "param":
429
+ {
430
+ "attributes":
431
+ [
432
+ "type",
433
+ "value",
434
+ "name"
435
+ ],
436
+ "required":[
437
+ "name"
438
+ ],
439
+ "inside":"object"
440
+ },
441
+ "embed":
442
+ {
443
+ "attributes":
444
+ [
445
+ "width",
446
+ "height",
447
+ "allowfullscreen",
448
+ "allowscriptaccess",
449
+ "wmode",
450
+ "type",
451
+ "src",
452
+ "flashvars"
453
+ ],
454
+ "inside":"object"
455
+ },
456
+ "object":
457
+ {
458
+ "attributes":[
459
+ "archive",
460
+ "classid",
461
+ "codebase",
462
+ "codetype",
463
+ "data",
464
+ "declare",
465
+ "height",
466
+ "name",
467
+ "standby",
468
+ "type",
469
+ "usemap",
470
+ "width"
471
+ ]
472
+ },
473
+ "30":"pre",
474
+ "q":
475
+ {
476
+ "attributes":[
477
+ "cite"
478
+ ]
479
+ },
480
+ "31":"samp",
481
+ "script":
482
+ {
483
+ "attributes":
484
+ {
485
+ "type":/^(text\/ecmascript|text\/javascript|text\/jscript|text\/vbscript|text\/vbs|text\/xml)$/,
486
+ "0":"charset",
487
+ "defer":/^(defer)$/,
488
+ "1":"src"
489
+ },
490
+ "required":[
491
+ "type"
492
+ ]
493
+ },
494
+ "select":
495
+ {
496
+ "attributes":
497
+ {
498
+ "disabled":/^(disabled)$/,
499
+ "multiple":/^(multiple)$/,
500
+ "0":"name",
501
+ "1":"size"
502
+ },
503
+ "inside":"form"
504
+ },
505
+ "32":"small",
506
+ "33":"span",
507
+ "34":"strong",
508
+ "style":
509
+ {
510
+ "attributes":
511
+ {
512
+ "0":"type",
513
+ "media":/^(screen|tty|tv|projection|handheld|print|braille|aural|all)$/
514
+ },
515
+ "required":[
516
+ "type"
517
+ ]
518
+ },
519
+ "35":"sub",
520
+ "36":"sup",
521
+ "table":
522
+ {
523
+ "attributes":
524
+ {
525
+ "0":"border",
526
+ "1":"cellpadding",
527
+ "2":"cellspacing",
528
+ "frame":/^(void|above|below|hsides|lhs|rhs|vsides|box|border)$/,
529
+ "rules":/^(none|groups|rows|cols|all)$/,
530
+ "3":"summary",
531
+ "4":"width"
532
+ }
533
+ },
534
+ "tbody":
535
+ {
536
+ "attributes":
537
+ {
538
+ "align":/^(right|left|center|justify)$/,
539
+ "0":"char",
540
+ "1":"charoff",
541
+ "valign":/^(top|middle|bottom|baseline)$/
542
+ }
543
+ },
544
+ "td":
545
+ {
546
+ "attributes":
547
+ {
548
+ "0":"abbr",
549
+ "align":/^(left|right|center|justify|char)$/,
550
+ "1":"axis",
551
+ "2":"char",
552
+ "3":"charoff",
553
+ "colspan":/^(\d)+$/,
554
+ "4":"headers",
555
+ "rowspan":/^(\d)+$/,
556
+ "scope":/^(col|colgroup|row|rowgroup)$/,
557
+ "valign":/^(top|middle|bottom|baseline)$/
558
+ }
559
+ },
560
+ "textarea":
561
+ {
562
+ "attributes":[
563
+ "cols",
564
+ "rows",
565
+ "disabled",
566
+ "name",
567
+ "readonly"
568
+ ],
569
+ "required":[
570
+ "cols",
571
+ "rows"
572
+ ],
573
+ "inside":"form"
574
+ },
575
+ "tfoot":
576
+ {
577
+ "attributes":
578
+ {
579
+ "align":/^(right|left|center|justify)$/,
580
+ "0":"char",
581
+ "1":"charoff",
582
+ "valign":/^(top|middle|bottom)$/,
583
+ "2":"baseline"
584
+ }
585
+ },
586
+ "th":
587
+ {
588
+ "attributes":
589
+ {
590
+ "0":"abbr",
591
+ "align":/^(left|right|center|justify|char)$/,
592
+ "1":"axis",
593
+ "2":"char",
594
+ "3":"charoff",
595
+ "colspan":/^(\d)+$/,
596
+ "4":"headers",
597
+ "rowspan":/^(\d)+$/,
598
+ "scope":/^(col|colgroup|row|rowgroup)$/,
599
+ "valign":/^(top|middle|bottom|baseline)$/
600
+ }
601
+ },
602
+ "thead":
603
+ {
604
+ "attributes":
605
+ {
606
+ "align":/^(right|left|center|justify)$/,
607
+ "0":"char",
608
+ "1":"charoff",
609
+ "valign":/^(top|middle|bottom|baseline)$/
610
+ }
611
+ },
612
+ "37":"title",
613
+ "tr":
614
+ {
615
+ "attributes":
616
+ {
617
+ "align":/^(right|left|center|justify|char)$/,
618
+ "0":"char",
619
+ "1":"charoff",
620
+ "valign":/^(top|middle|bottom|baseline)$/
621
+ }
622
+ },
623
+ "38":"tt",
624
+ "39":"ul",
625
+ "40":"var",
626
+ "41":"section",
627
+ "42":"article",
628
+ "43":"aside",
629
+ "44":"details",
630
+ "45":"header",
631
+ "46":"footer",
632
+ "47":"nav",
633
+ "48":"dialog",
634
+ "49":"figure",
635
+ "50":"figcaption",
636
+ "51":"address",
637
+ "52":"hgroup",
638
+ "53":"mark",
639
+ "54":"time",
640
+ "55":"canvas",
641
+ "56":"audio",
642
+ "57":"video",
643
+ "58":"source",
644
+ "59":"output",
645
+ "60":"progress",
646
+ "61":"ruby",
647
+ "62":"rt",
648
+ "63":"rp",
649
+ "64":"summary",
650
+ "65":"command"<% Refinery::Core.wymeditor_whitelist_tags.each do |key, value| %>,
651
+ <%= key.inspect %>:<%= value.to_json %><% end %>
652
+ },
653
+
654
+ // Temporary skipped attributes
655
+ skipped_attributes : [],
656
+ skipped_attribute_values : [],
657
+
658
+ getValidTagAttributes: function(tag, attributes)
659
+ {
660
+ var valid_attributes = {};
661
+ var possible_attributes = this.getPossibleTagAttributes(tag);
662
+ var regexp_attributes = [];
663
+ $.each((possible_attributes || []), function(i, val) {
664
+ if (val.indexOf("*") > -1) {
665
+ regexp_attributes.push(new RegExp(val));
666
+ }
667
+ });
668
+ var h = WYMeditor.Helper;
669
+ for(var attribute in attributes) {
670
+ var value = attributes[attribute];
671
+ if(!h.contains(this.skipped_attributes, attribute) && !h.contains(this.skipped_attribute_values, value)){
672
+ if (typeof value != 'function') {
673
+ if (h.contains(possible_attributes, attribute)) {
674
+ if (this.doesAttributeNeedsValidation(tag, attribute)) {
675
+ if(this.validateAttribute(tag, attribute, value)){
676
+ valid_attributes[attribute] = value;
677
+ }
678
+ }else{
679
+ valid_attributes[attribute] = value;
680
+ }
681
+ }
682
+ else {
683
+ $.each(regexp_attributes, function(i, val) {
684
+ if (attribute.match(val)) {
685
+ valid_attributes[attribute] = value;
686
+ }
687
+ });
688
+ }
689
+ }
690
+ }
691
+ }
692
+ return valid_attributes;
693
+ },
694
+ getUniqueAttributesAndEventsForTag: function(tag)
695
+ {
696
+ var result = [];
697
+
698
+ if (this._tags[tag] && this._tags[tag]['attributes']) {
699
+ for (k in this._tags[tag]['attributes']) {
700
+ result.push(parseInt(k) == k ? this._tags[tag]['attributes'][k] : k);
701
+ }
702
+ }
703
+ return result;
704
+ },
705
+ getDefaultAttributesAndEventsForTags: function()
706
+ {
707
+ var result = [];
708
+ for (var key in this._events){
709
+ result.push(this._events[key]);
710
+ }
711
+ for (var key in this._attributes){
712
+ result.push(this._attributes[key]);
713
+ }
714
+ return result;
715
+ },
716
+ isValidTag: function(tag)
717
+ {
718
+ if(this._tags[tag]){
719
+ return true;
720
+ }
721
+ for(var key in this._tags){
722
+ if(this._tags[key] == tag){
723
+ return true;
724
+ }
725
+ }
726
+ return false;
727
+ },
728
+ getDefaultAttributesAndEventsForTag: function(tag)
729
+ {
730
+ var default_attributes = [];
731
+ if (this.isValidTag(tag)) {
732
+ var default_attributes_and_events = this.getDefaultAttributesAndEventsForTags();
733
+
734
+ for(var key in default_attributes_and_events) {
735
+ var defaults = default_attributes_and_events[key];
736
+ if(typeof defaults == 'object'){
737
+ var h = WYMeditor.Helper;
738
+ if ((defaults['except'] && h.contains(defaults['except'], tag)) || (defaults['only'] && !h.contains(defaults['only'], tag))) {
739
+ continue;
740
+ }
741
+
742
+ var tag_defaults = defaults['attributes'] ? defaults['attributes'] : defaults['events'];
743
+ for(var k in tag_defaults) {
744
+ default_attributes.push(typeof tag_defaults[k] != 'string' ? k : tag_defaults[k]);
745
+ }
746
+ }
747
+ }
748
+ }
749
+ return default_attributes;
750
+ },
751
+ doesAttributeNeedsValidation: function(tag, attribute)
752
+ {
753
+ return this._tags[tag] && ((this._tags[tag]['attributes'] && this._tags[tag]['attributes'][attribute]) || (this._tags[tag]['required'] &&
754
+ WYMeditor.Helper.contains(this._tags[tag]['required'], attribute)));
755
+ },
756
+ validateAttribute: function(tag, attribute, value)
757
+ {
758
+ if ( this._tags[tag] &&
759
+ (this._tags[tag]['attributes'] && this._tags[tag]['attributes'][attribute] && value.length > 0 && !value.match(this._tags[tag]['attributes'][attribute])) || // invalid format
760
+ (this._tags[tag] && this._tags[tag]['required'] && WYMeditor.Helper.contains(this._tags[tag]['required'], attribute) && value.length == 0) // required attribute
761
+ ) {
762
+ return false;
763
+ }
764
+ return typeof this._tags[tag] != 'undefined';
765
+ },
766
+ getPossibleTagAttributes: function(tag)
767
+ {
768
+ if (!this._possible_tag_attributes) {
769
+ this._possible_tag_attributes = {};
770
+ }
771
+ if (!this._possible_tag_attributes[tag]) {
772
+ this._possible_tag_attributes[tag] = this.getUniqueAttributesAndEventsForTag(tag).concat(this.getDefaultAttributesAndEventsForTag(tag));
773
+ }
774
+ return this._possible_tag_attributes[tag];
775
+ }
776
+ };