refinerycms 0.9.6.34 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1069) hide show
  1. data/.gitignore +9 -8
  2. data/Gemfile +50 -0
  3. data/Rakefile +1 -1
  4. data/bin/refinery +22 -11
  5. data/bin/refinery-update-core +45 -27
  6. data/changelog.md +313 -0
  7. data/config.ru +5 -0
  8. data/config/acts_as_indexed_config.rb +7 -0
  9. data/config/amazon_s3.yml.example +3 -3
  10. data/config/application.rb +7 -11
  11. data/config/boot.rb +15 -1
  12. data/config/cucumber.yml +8 -0
  13. data/config/database.yml.example +24 -0
  14. data/config/environments/cucumber.rb +27 -0
  15. data/config/environments/development.rb +0 -1
  16. data/config/environments/production.rb +2 -1
  17. data/config/i18n-js.yml +6 -0
  18. data/config/initializers/field_with_error_fix.rb +3 -0
  19. data/config/preinitializer.rb +20 -18
  20. data/config/routes.rb +8 -3
  21. data/db/migrate/20100125003944_rename_title_to_name_on_user_plugins.rb +9 -0
  22. data/db/migrate/20100125033146_migrate_old_plugin_titles_to_plugin_names_for_users.rb +61 -0
  23. data/db/migrate/20100419001048_change_image_grid_thumbnail_size_and_regenerate.rb +13 -0
  24. data/db/migrate/20100522020225_rename_permissions_for_resources_plugin_to_files.rb +15 -0
  25. data/db/migrate/20100525084518_remove_take_down_for_maintenance_page.rb +19 -0
  26. data/db/migrate/20100525110237_add_small_and_large_thumbnail_sizes.rb +14 -0
  27. data/db/migrate/20100530205942_update_link_url_on_pages_from_inquiries_new_to_contact.rb +31 -0
  28. data/db/migrate/20100606173919_create_page_translations.rb +12 -0
  29. data/db/migrate/20100608062447_add_scoping_to_refinery_settings.rb +9 -0
  30. data/db/migrate/20100623220402_add_restricted_to_refinery_settings.rb +9 -0
  31. data/db/migrate/20100624024501_add_roles.rb +24 -0
  32. data/db/migrate/20100629081543_add_callback_proc_as_string_to_refinery_settings.rb +9 -0
  33. data/db/migrate/20100701053151_remove_superuser_from_users.rb +20 -0
  34. data/db/migrate/20100702022630_add_spam_to_inquiries.rb +11 -0
  35. data/db/schema.rb +28 -10
  36. data/db/seeds.rb +6 -119
  37. data/db/seeds/inquiry_settings.rb +2 -0
  38. data/db/seeds/pages.rb +81 -0
  39. data/db/seeds/refinery_settings.rb +19 -0
  40. data/features/refinery/dashboard.feature +4 -0
  41. data/features/refinery/manage_files.feature +4 -0
  42. data/features/refinery/manage_images.feature +4 -0
  43. data/features/refinery/manage_inquiries.feature +4 -0
  44. data/features/refinery/manage_pages.feature +39 -0
  45. data/features/refinery/manage_refinery_settings.feature +4 -0
  46. data/features/refinery/manage_users.feature +29 -0
  47. data/features/refinery/site_bar.feature +22 -0
  48. data/features/step_definitions/refinery/page_steps.rb +23 -0
  49. data/features/step_definitions/refinery/user_steps.rb +33 -0
  50. data/features/step_definitions/web_steps.rb +271 -0
  51. data/features/support/env.rb +63 -0
  52. data/features/support/factories.rb +19 -0
  53. data/features/support/negative_expectations_helper.rb +57 -0
  54. data/features/support/paths.rb +39 -0
  55. data/lib/gemspec.rb +35 -0
  56. data/lib/refinery/tasks/refinery.rake +0 -30
  57. data/lib/tasks/cucumber.rake +53 -0
  58. data/lib/tasks/rspec.rake +144 -0
  59. data/public/images/refinery/admin_bg.png +0 -0
  60. data/public/images/refinery/cross.png +0 -0
  61. data/public/images/refinery/icons/bin.png +0 -0
  62. data/public/images/refinery/icons/bin_closed.png +0 -0
  63. data/public/images/refinery/icons/doc.png +0 -0
  64. data/public/images/refinery/icons/email.png +0 -0
  65. data/public/images/refinery/icons/flags/ad.png +0 -0
  66. data/public/images/refinery/icons/flags/ae.png +0 -0
  67. data/public/images/refinery/icons/flags/af.png +0 -0
  68. data/public/images/refinery/icons/flags/ag.png +0 -0
  69. data/public/images/refinery/icons/flags/ai.png +0 -0
  70. data/public/images/refinery/icons/flags/al.png +0 -0
  71. data/public/images/refinery/icons/flags/am.png +0 -0
  72. data/public/images/refinery/icons/flags/an.png +0 -0
  73. data/public/images/refinery/icons/flags/ao.png +0 -0
  74. data/public/images/refinery/icons/flags/ar.png +0 -0
  75. data/public/images/refinery/icons/flags/as.png +0 -0
  76. data/public/images/refinery/icons/flags/at.png +0 -0
  77. data/public/images/refinery/icons/flags/au.png +0 -0
  78. data/public/images/refinery/icons/flags/aw.png +0 -0
  79. data/public/images/refinery/icons/flags/ax.png +0 -0
  80. data/public/images/refinery/icons/flags/az.png +0 -0
  81. data/public/images/refinery/icons/flags/ba.png +0 -0
  82. data/public/images/refinery/icons/flags/bb.png +0 -0
  83. data/public/images/refinery/icons/flags/bd.png +0 -0
  84. data/public/images/refinery/icons/flags/be.png +0 -0
  85. data/public/images/refinery/icons/flags/bf.png +0 -0
  86. data/public/images/refinery/icons/flags/bg.png +0 -0
  87. data/public/images/refinery/icons/flags/bh.png +0 -0
  88. data/public/images/refinery/icons/flags/bi.png +0 -0
  89. data/public/images/refinery/icons/flags/bj.png +0 -0
  90. data/public/images/refinery/icons/flags/bm.png +0 -0
  91. data/public/images/refinery/icons/flags/bn.png +0 -0
  92. data/public/images/refinery/icons/flags/bo.png +0 -0
  93. data/public/images/refinery/icons/flags/bs.png +0 -0
  94. data/public/images/refinery/icons/flags/bt.png +0 -0
  95. data/public/images/refinery/icons/flags/bv.png +0 -0
  96. data/public/images/refinery/icons/flags/bw.png +0 -0
  97. data/public/images/refinery/icons/flags/by.png +0 -0
  98. data/public/images/refinery/icons/flags/bz.png +0 -0
  99. data/public/images/refinery/icons/flags/ca.png +0 -0
  100. data/public/images/refinery/icons/flags/catalonia.png +0 -0
  101. data/public/images/refinery/icons/flags/cc.png +0 -0
  102. data/public/images/refinery/icons/flags/cd.png +0 -0
  103. data/public/images/refinery/icons/flags/cf.png +0 -0
  104. data/public/images/refinery/icons/flags/cg.png +0 -0
  105. data/public/images/refinery/icons/flags/ch.png +0 -0
  106. data/public/images/refinery/icons/flags/ci.png +0 -0
  107. data/public/images/refinery/icons/flags/ck.png +0 -0
  108. data/public/images/refinery/icons/flags/cl.png +0 -0
  109. data/public/images/refinery/icons/flags/cm.png +0 -0
  110. data/public/images/refinery/icons/flags/cn.png +0 -0
  111. data/public/images/refinery/icons/flags/co.png +0 -0
  112. data/public/images/refinery/icons/flags/cr.png +0 -0
  113. data/public/images/refinery/icons/flags/cs.png +0 -0
  114. data/public/images/refinery/icons/flags/cu.png +0 -0
  115. data/public/images/refinery/icons/flags/cv.png +0 -0
  116. data/public/images/refinery/icons/flags/cx.png +0 -0
  117. data/public/images/refinery/icons/flags/cy.png +0 -0
  118. data/public/images/refinery/icons/flags/cz.png +0 -0
  119. data/public/images/refinery/icons/flags/da.png +0 -0
  120. data/public/images/refinery/icons/flags/de.png +0 -0
  121. data/public/images/refinery/icons/flags/dj.png +0 -0
  122. data/public/images/refinery/icons/flags/dm.png +0 -0
  123. data/public/images/refinery/icons/flags/do.png +0 -0
  124. data/public/images/refinery/icons/flags/dz.png +0 -0
  125. data/public/images/refinery/icons/flags/ec.png +0 -0
  126. data/public/images/refinery/icons/flags/ee.png +0 -0
  127. data/public/images/refinery/icons/flags/eg.png +0 -0
  128. data/public/images/refinery/icons/flags/eh.png +0 -0
  129. data/public/images/refinery/icons/flags/en.png +0 -0
  130. data/public/images/refinery/icons/flags/england.png +0 -0
  131. data/public/images/refinery/icons/flags/er.png +0 -0
  132. data/public/images/refinery/icons/flags/es.png +0 -0
  133. data/public/images/refinery/icons/flags/et.png +0 -0
  134. data/public/images/refinery/icons/flags/europeanunion.png +0 -0
  135. data/public/images/refinery/icons/flags/fam.png +0 -0
  136. data/public/images/refinery/icons/flags/fi.png +0 -0
  137. data/public/images/refinery/icons/flags/fj.png +0 -0
  138. data/public/images/refinery/icons/flags/fk.png +0 -0
  139. data/public/images/refinery/icons/flags/fm.png +0 -0
  140. data/public/images/refinery/icons/flags/fo.png +0 -0
  141. data/public/images/refinery/icons/flags/fr.png +0 -0
  142. data/public/images/refinery/icons/flags/ga.png +0 -0
  143. data/public/images/refinery/icons/flags/gb.png +0 -0
  144. data/public/images/refinery/icons/flags/gd.png +0 -0
  145. data/public/images/refinery/icons/flags/ge.png +0 -0
  146. data/public/images/refinery/icons/flags/gf.png +0 -0
  147. data/public/images/refinery/icons/flags/gh.png +0 -0
  148. data/public/images/refinery/icons/flags/gi.png +0 -0
  149. data/public/images/refinery/icons/flags/gl.png +0 -0
  150. data/public/images/refinery/icons/flags/gm.png +0 -0
  151. data/public/images/refinery/icons/flags/gn.png +0 -0
  152. data/public/images/refinery/icons/flags/gp.png +0 -0
  153. data/public/images/refinery/icons/flags/gq.png +0 -0
  154. data/public/images/refinery/icons/flags/gr.png +0 -0
  155. data/public/images/refinery/icons/flags/gs.png +0 -0
  156. data/public/images/refinery/icons/flags/gt.png +0 -0
  157. data/public/images/refinery/icons/flags/gu.png +0 -0
  158. data/public/images/refinery/icons/flags/gw.png +0 -0
  159. data/public/images/refinery/icons/flags/gy.png +0 -0
  160. data/public/images/refinery/icons/flags/hk.png +0 -0
  161. data/public/images/refinery/icons/flags/hm.png +0 -0
  162. data/public/images/refinery/icons/flags/hn.png +0 -0
  163. data/public/images/refinery/icons/flags/hr.png +0 -0
  164. data/public/images/refinery/icons/flags/ht.png +0 -0
  165. data/public/images/refinery/icons/flags/hu.png +0 -0
  166. data/public/images/refinery/icons/flags/id.png +0 -0
  167. data/public/images/refinery/icons/flags/ie.png +0 -0
  168. data/public/images/refinery/icons/flags/il.png +0 -0
  169. data/public/images/refinery/icons/flags/in.png +0 -0
  170. data/public/images/refinery/icons/flags/io.png +0 -0
  171. data/public/images/refinery/icons/flags/iq.png +0 -0
  172. data/public/images/refinery/icons/flags/ir.png +0 -0
  173. data/public/images/refinery/icons/flags/is.png +0 -0
  174. data/public/images/refinery/icons/flags/it.png +0 -0
  175. data/public/images/refinery/icons/flags/jm.png +0 -0
  176. data/public/images/refinery/icons/flags/jo.png +0 -0
  177. data/public/images/refinery/icons/flags/jp.png +0 -0
  178. data/public/images/refinery/icons/flags/ke.png +0 -0
  179. data/public/images/refinery/icons/flags/kg.png +0 -0
  180. data/public/images/refinery/icons/flags/kh.png +0 -0
  181. data/public/images/refinery/icons/flags/ki.png +0 -0
  182. data/public/images/refinery/icons/flags/km.png +0 -0
  183. data/public/images/refinery/icons/flags/kn.png +0 -0
  184. data/public/images/refinery/icons/flags/kp.png +0 -0
  185. data/public/images/refinery/icons/flags/kr.png +0 -0
  186. data/public/images/refinery/icons/flags/kw.png +0 -0
  187. data/public/images/refinery/icons/flags/ky.png +0 -0
  188. data/public/images/refinery/icons/flags/kz.png +0 -0
  189. data/public/images/refinery/icons/flags/la.png +0 -0
  190. data/public/images/refinery/icons/flags/lb.png +0 -0
  191. data/public/images/refinery/icons/flags/lc.png +0 -0
  192. data/public/images/refinery/icons/flags/li.png +0 -0
  193. data/public/images/refinery/icons/flags/lk.png +0 -0
  194. data/public/images/refinery/icons/flags/lr.png +0 -0
  195. data/public/images/refinery/icons/flags/ls.png +0 -0
  196. data/public/images/refinery/icons/flags/lt.png +0 -0
  197. data/public/images/refinery/icons/flags/lu.png +0 -0
  198. data/public/images/refinery/icons/flags/lv.png +0 -0
  199. data/public/images/refinery/icons/flags/ly.png +0 -0
  200. data/public/images/refinery/icons/flags/ma.png +0 -0
  201. data/public/images/refinery/icons/flags/mc.png +0 -0
  202. data/public/images/refinery/icons/flags/md.png +0 -0
  203. data/public/images/refinery/icons/flags/me.png +0 -0
  204. data/public/images/refinery/icons/flags/mg.png +0 -0
  205. data/public/images/refinery/icons/flags/mh.png +0 -0
  206. data/public/images/refinery/icons/flags/mk.png +0 -0
  207. data/public/images/refinery/icons/flags/ml.png +0 -0
  208. data/public/images/refinery/icons/flags/mm.png +0 -0
  209. data/public/images/refinery/icons/flags/mn.png +0 -0
  210. data/public/images/refinery/icons/flags/mo.png +0 -0
  211. data/public/images/refinery/icons/flags/mp.png +0 -0
  212. data/public/images/refinery/icons/flags/mq.png +0 -0
  213. data/public/images/refinery/icons/flags/mr.png +0 -0
  214. data/public/images/refinery/icons/flags/ms.png +0 -0
  215. data/public/images/refinery/icons/flags/mt.png +0 -0
  216. data/public/images/refinery/icons/flags/mu.png +0 -0
  217. data/public/images/refinery/icons/flags/mv.png +0 -0
  218. data/public/images/refinery/icons/flags/mw.png +0 -0
  219. data/public/images/refinery/icons/flags/mx.png +0 -0
  220. data/public/images/refinery/icons/flags/my.png +0 -0
  221. data/public/images/refinery/icons/flags/mz.png +0 -0
  222. data/public/images/refinery/icons/flags/na.png +0 -0
  223. data/public/images/refinery/icons/flags/nb.png +0 -0
  224. data/public/images/refinery/icons/flags/nc.png +0 -0
  225. data/public/images/refinery/icons/flags/ne.png +0 -0
  226. data/public/images/refinery/icons/flags/nf.png +0 -0
  227. data/public/images/refinery/icons/flags/ng.png +0 -0
  228. data/public/images/refinery/icons/flags/ni.png +0 -0
  229. data/public/images/refinery/icons/flags/nl.png +0 -0
  230. data/public/images/refinery/icons/flags/nn.png +0 -0
  231. data/public/images/refinery/icons/flags/np.png +0 -0
  232. data/public/images/refinery/icons/flags/nr.png +0 -0
  233. data/public/images/refinery/icons/flags/nu.png +0 -0
  234. data/public/images/refinery/icons/flags/nz.png +0 -0
  235. data/public/images/refinery/icons/flags/om.png +0 -0
  236. data/public/images/refinery/icons/flags/pa.png +0 -0
  237. data/public/images/refinery/icons/flags/pe.png +0 -0
  238. data/public/images/refinery/icons/flags/pf.png +0 -0
  239. data/public/images/refinery/icons/flags/pg.png +0 -0
  240. data/public/images/refinery/icons/flags/ph.png +0 -0
  241. data/public/images/refinery/icons/flags/pk.png +0 -0
  242. data/public/images/refinery/icons/flags/pl.png +0 -0
  243. data/public/images/refinery/icons/flags/pm.png +0 -0
  244. data/public/images/refinery/icons/flags/pn.png +0 -0
  245. data/public/images/refinery/icons/flags/pr.png +0 -0
  246. data/public/images/refinery/icons/flags/ps.png +0 -0
  247. data/public/images/refinery/icons/flags/pt-BR.png +0 -0
  248. data/public/images/refinery/icons/flags/pt.png +0 -0
  249. data/public/images/refinery/icons/flags/pw.png +0 -0
  250. data/public/images/refinery/icons/flags/py.png +0 -0
  251. data/public/images/refinery/icons/flags/qa.png +0 -0
  252. data/public/images/refinery/icons/flags/re.png +0 -0
  253. data/public/images/refinery/icons/flags/ro.png +0 -0
  254. data/public/images/refinery/icons/flags/rs.png +0 -0
  255. data/public/images/refinery/icons/flags/ru.png +0 -0
  256. data/public/images/refinery/icons/flags/rw.png +0 -0
  257. data/public/images/refinery/icons/flags/sa.png +0 -0
  258. data/public/images/refinery/icons/flags/sb.png +0 -0
  259. data/public/images/refinery/icons/flags/sc.png +0 -0
  260. data/public/images/refinery/icons/flags/scotland.png +0 -0
  261. data/public/images/refinery/icons/flags/sd.png +0 -0
  262. data/public/images/refinery/icons/flags/se.png +0 -0
  263. data/public/images/refinery/icons/flags/sg.png +0 -0
  264. data/public/images/refinery/icons/flags/sh.png +0 -0
  265. data/public/images/refinery/icons/flags/si.png +0 -0
  266. data/public/images/refinery/icons/flags/sj.png +0 -0
  267. data/public/images/refinery/icons/flags/sk.png +0 -0
  268. data/public/images/refinery/icons/flags/sl.png +0 -0
  269. data/public/images/refinery/icons/flags/sm.png +0 -0
  270. data/public/images/refinery/icons/flags/sn.png +0 -0
  271. data/public/images/refinery/icons/flags/so.png +0 -0
  272. data/public/images/refinery/icons/flags/sr.png +0 -0
  273. data/public/images/refinery/icons/flags/st.png +0 -0
  274. data/public/images/refinery/icons/flags/sv.png +0 -0
  275. data/public/images/refinery/icons/flags/sy.png +0 -0
  276. data/public/images/refinery/icons/flags/sz.png +0 -0
  277. data/public/images/refinery/icons/flags/tc.png +0 -0
  278. data/public/images/refinery/icons/flags/td.png +0 -0
  279. data/public/images/refinery/icons/flags/tf.png +0 -0
  280. data/public/images/refinery/icons/flags/tg.png +0 -0
  281. data/public/images/refinery/icons/flags/th.png +0 -0
  282. data/public/images/refinery/icons/flags/tj.png +0 -0
  283. data/public/images/refinery/icons/flags/tk.png +0 -0
  284. data/public/images/refinery/icons/flags/tl.png +0 -0
  285. data/public/images/refinery/icons/flags/tm.png +0 -0
  286. data/public/images/refinery/icons/flags/tn.png +0 -0
  287. data/public/images/refinery/icons/flags/to.png +0 -0
  288. data/public/images/refinery/icons/flags/tr.png +0 -0
  289. data/public/images/refinery/icons/flags/tt.png +0 -0
  290. data/public/images/refinery/icons/flags/tv.png +0 -0
  291. data/public/images/refinery/icons/flags/tw.png +0 -0
  292. data/public/images/refinery/icons/flags/tz.png +0 -0
  293. data/public/images/refinery/icons/flags/ua.png +0 -0
  294. data/public/images/refinery/icons/flags/ug.png +0 -0
  295. data/public/images/refinery/icons/flags/um.png +0 -0
  296. data/public/images/refinery/icons/flags/us.png +0 -0
  297. data/public/images/refinery/icons/flags/uy.png +0 -0
  298. data/public/images/refinery/icons/flags/uz.png +0 -0
  299. data/public/images/refinery/icons/flags/va.png +0 -0
  300. data/public/images/refinery/icons/flags/vc.png +0 -0
  301. data/public/images/refinery/icons/flags/ve.png +0 -0
  302. data/public/images/refinery/icons/flags/vg.png +0 -0
  303. data/public/images/refinery/icons/flags/vi.png +0 -0
  304. data/public/images/refinery/icons/flags/vn.png +0 -0
  305. data/public/images/refinery/icons/flags/vu.png +0 -0
  306. data/public/images/refinery/icons/flags/wales.png +0 -0
  307. data/public/images/refinery/icons/flags/wf.png +0 -0
  308. data/public/images/refinery/icons/flags/ws.png +0 -0
  309. data/public/images/refinery/icons/flags/ye.png +0 -0
  310. data/public/images/refinery/icons/flags/yt.png +0 -0
  311. data/public/images/refinery/icons/flags/za.png +0 -0
  312. data/public/images/refinery/icons/flags/zm.png +0 -0
  313. data/public/images/refinery/icons/flags/zw.png +0 -0
  314. data/public/images/refinery/icons/folder_page_white.png +0 -0
  315. data/public/images/refinery/icons/img.png +0 -0
  316. data/public/images/refinery/icons/music.png +0 -0
  317. data/public/images/refinery/icons/page_white_gear.png +0 -0
  318. data/public/images/refinery/icons/pdf.png +0 -0
  319. data/public/images/refinery/icons/ppt.png +0 -0
  320. data/public/images/refinery/icons/xls.png +0 -0
  321. data/public/images/refinery/icons/zip.png +0 -0
  322. data/public/images/refinery/logo-site-bar.png +0 -0
  323. data/public/images/refinery/nav_inactive_background.png +0 -0
  324. data/public/images/refinery/orange_button.png +0 -0
  325. data/public/images/refinery/text_field_background.png +0 -0
  326. data/public/images/refinery/tooltip-nib.png +0 -0
  327. data/public/images/wymeditor/skins/refinery/text_indent.png +0 -0
  328. data/public/images/wymeditor/skins/refinery/text_indent_remove.png +0 -0
  329. data/public/javascripts/admin.js +6 -8
  330. data/public/javascripts/i18n-messages.js +2 -0
  331. data/public/javascripts/jquery-min.js +154 -0
  332. data/public/javascripts/jquery-ui-custom-min.js +244 -0
  333. data/public/javascripts/jquery/jquery.corner.js +314 -216
  334. data/public/javascripts/jquery/jquery.html5-placeholder-shim.js +81 -0
  335. data/public/javascripts/jquery/jquery.nestedsortables.js +186 -0
  336. data/public/javascripts/jquery/jquery.textTruncate.js +174 -0
  337. data/public/javascripts/jquery/jquery.timers.js +138 -0
  338. data/public/javascripts/refinery/admin.js +352 -153
  339. data/public/javascripts/refinery/boot_wym.js +81 -46
  340. data/public/javascripts/refinery/i18n.js +340 -0
  341. data/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +359 -363
  342. data/public/javascripts/wymeditor/lang/en.js +46 -46
  343. data/public/javascripts/wymeditor/lang/nl.js +5 -3
  344. data/public/javascripts/wymeditor/lang/pt-br.js +3 -2
  345. data/public/javascripts/wymeditor/lang/sl.js +47 -0
  346. data/public/javascripts/wymeditor/skins/refinery/skin.js +23 -23
  347. data/public/robots.txt +1 -0
  348. data/public/stylesheets/application.css +3 -3
  349. data/public/stylesheets/formatting.css +3 -3
  350. data/public/stylesheets/home.css +2 -2
  351. data/public/stylesheets/ie7.css +1 -0
  352. data/public/stylesheets/refinery/application.css +4 -2
  353. data/public/stylesheets/refinery/formatting.css +15 -15
  354. data/public/stylesheets/refinery/ie.css +20 -0
  355. data/public/stylesheets/refinery/refinery.css +680 -462
  356. data/public/stylesheets/refinery/site_bar.css +68 -25
  357. data/public/stylesheets/refinery/theme.css +14 -14
  358. data/public/stylesheets/refinery/tooltips.css +28 -32
  359. data/public/stylesheets/refinery/ui.css +25 -10
  360. data/public/stylesheets/wymeditor/skins/refinery/skin.css +148 -149
  361. data/public/stylesheets/wymeditor/skins/refinery/wymiframe.css +67 -63
  362. data/readme.md +48 -17
  363. data/script/about +1 -1
  364. data/script/autospec +6 -0
  365. data/script/console +1 -1
  366. data/script/cucumber +10 -0
  367. data/script/dbconsole +1 -1
  368. data/script/destroy +1 -1
  369. data/script/generate +1 -1
  370. data/script/performance/benchmarker +1 -1
  371. data/script/performance/profiler +1 -1
  372. data/script/performance/request +1 -1
  373. data/script/plugin +1 -1
  374. data/script/process/inspector +1 -1
  375. data/script/process/reaper +1 -1
  376. data/script/process/spawner +1 -1
  377. data/script/runner +1 -1
  378. data/script/server +1 -1
  379. data/script/spec +10 -0
  380. data/test/fixtures/images.yml +1 -2
  381. data/test/fixtures/pages.yml +4 -4
  382. data/test/fixtures/user_plugins.yml +20 -24
  383. data/test/functional/dashboard_controller_test.rb +2 -1
  384. data/test/functional/images_controller_test.rb +3 -10
  385. data/test/unit/image_test.rb +1 -1
  386. data/test/unit/inquiry_test.rb +6 -6
  387. data/test/unit/page_test.rb +31 -1
  388. data/test/unit/refinery_setting_test.rb +1 -1
  389. data/themes/demolicious/stylesheets/application.css +23 -12
  390. data/themes/demolicious/stylesheets/formatting.css +3 -3
  391. data/themes/demolicious/stylesheets/home.css +1 -4
  392. data/themes/demolicious/views/layouts/application.html.erb +5 -5
  393. data/themes/demolicious/views/pages/home.html.erb +1 -1
  394. data/themes/hemingway/stylesheets/application.css +1 -1
  395. data/themes/hemingway/views/layouts/application.html.erb +1 -0
  396. data/todo.md +19 -5
  397. data/vendor/plugins/authentication/app/controllers/admin/users_controller.rb +13 -18
  398. data/vendor/plugins/authentication/app/controllers/sessions_controller.rb +21 -6
  399. data/vendor/plugins/authentication/app/controllers/users_controller.rb +57 -49
  400. data/vendor/plugins/authentication/app/models/role.rb +16 -0
  401. data/vendor/plugins/authentication/app/models/user.rb +21 -8
  402. data/vendor/plugins/authentication/app/models/user_mailer.rb +3 -2
  403. data/vendor/plugins/authentication/app/models/user_session.rb +1 -1
  404. data/vendor/plugins/authentication/app/views/admin/users/_form.html.erb +29 -10
  405. data/vendor/plugins/authentication/app/views/admin/users/_user.html.erb +11 -10
  406. data/vendor/plugins/authentication/app/views/admin/users/index.html.erb +2 -3
  407. data/vendor/plugins/authentication/app/views/sessions/new.html.erb +15 -18
  408. data/vendor/plugins/authentication/app/views/users/forgot.html.erb +14 -9
  409. data/vendor/plugins/authentication/app/views/users/new.html.erb +11 -13
  410. data/vendor/plugins/authentication/app/views/users/reset.html.erb +14 -9
  411. data/vendor/plugins/authentication/config/locales/da.yml +71 -0
  412. data/vendor/plugins/authentication/config/locales/de.yml +75 -0
  413. data/vendor/plugins/authentication/config/locales/en.yml +75 -0
  414. data/vendor/plugins/authentication/config/locales/es.yml +79 -0
  415. data/vendor/plugins/authentication/config/locales/fr.yml +79 -0
  416. data/vendor/plugins/authentication/config/locales/it.yml +68 -0
  417. data/vendor/plugins/authentication/config/locales/nb.yml +68 -0
  418. data/vendor/plugins/authentication/config/locales/nl.yml +83 -0
  419. data/vendor/plugins/authentication/config/locales/pt-BR.yml +64 -0
  420. data/vendor/plugins/authentication/config/locales/sl.yml +78 -0
  421. data/vendor/plugins/authentication/config/routes.rb +4 -5
  422. data/vendor/plugins/authentication/lib/authenticated_system.rb +5 -1
  423. data/vendor/plugins/authentication/rails/init.rb +5 -1
  424. data/vendor/plugins/authentication/{authentication.md → readme.md} +0 -0
  425. data/vendor/plugins/authentication/test/unit/user_mailer_test.rb +1 -1
  426. data/vendor/plugins/dashboard/app/controllers/admin/dashboard_controller.rb +17 -7
  427. data/vendor/plugins/dashboard/app/helpers/admin/dashboard_helper.rb +5 -9
  428. data/vendor/plugins/dashboard/app/views/admin/dashboard/_recent_activity.html.erb +10 -12
  429. data/vendor/plugins/dashboard/app/views/admin/dashboard/_recent_inquiries.html.erb +12 -0
  430. data/vendor/plugins/dashboard/app/views/admin/dashboard/index.html.erb +34 -11
  431. data/vendor/plugins/dashboard/config/locales/da.yml +22 -0
  432. data/vendor/plugins/dashboard/config/locales/de.yml +22 -0
  433. data/vendor/plugins/dashboard/config/locales/en.yml +22 -0
  434. data/vendor/plugins/dashboard/config/locales/es.yml +22 -0
  435. data/vendor/plugins/dashboard/config/locales/fr.yml +22 -0
  436. data/vendor/plugins/dashboard/config/locales/it.yml +22 -0
  437. data/vendor/plugins/dashboard/config/locales/nb.yml +22 -0
  438. data/vendor/plugins/dashboard/config/locales/nl.yml +22 -0
  439. data/vendor/plugins/dashboard/config/locales/pt-BR.yml +22 -0
  440. data/vendor/plugins/dashboard/config/locales/sl.yml +22 -0
  441. data/vendor/plugins/dashboard/config/routes.rb +2 -1
  442. data/vendor/plugins/dashboard/rails/init.rb +6 -0
  443. data/vendor/plugins/dashboard/{dashboard.md → readme.md} +0 -0
  444. data/vendor/plugins/i18n-js/README.rdoc +249 -0
  445. data/vendor/plugins/i18n-js/Rakefile +23 -0
  446. data/vendor/plugins/i18n-js/init.rb +1 -0
  447. data/vendor/plugins/i18n-js/install.rb +7 -0
  448. data/vendor/plugins/i18n-js/lib/i18n-js.rb +132 -0
  449. data/vendor/plugins/i18n-js/lib/i18n-js.yml +4 -0
  450. data/vendor/plugins/i18n-js/lib/i18n.js +339 -0
  451. data/vendor/plugins/i18n-js/lib/tasks/i18n-js_tasks.rake +16 -0
  452. data/vendor/plugins/i18n-js/test/i18n-test.html +50 -0
  453. data/vendor/plugins/i18n-js/test/i18n-test.js +661 -0
  454. data/vendor/plugins/i18n-js/test/i18n_js_test.rb +168 -0
  455. data/vendor/plugins/i18n-js/test/jsunittest/jsunittest.js +1017 -0
  456. data/vendor/plugins/i18n-js/test/jsunittest/unittest.css +54 -0
  457. data/vendor/plugins/i18n-js/test/resources/custom_path.yml +4 -0
  458. data/vendor/plugins/i18n-js/test/resources/default.yml +4 -0
  459. data/vendor/plugins/i18n-js/test/resources/locales.yml +76 -0
  460. data/vendor/plugins/i18n-js/test/resources/multiple_files.yml +6 -0
  461. data/vendor/plugins/i18n-js/test/resources/no_scope.yml +3 -0
  462. data/vendor/plugins/i18n-js/test/resources/simple_scope.yml +4 -0
  463. data/vendor/plugins/i18n-js/test/test_helper.rb +24 -0
  464. data/vendor/plugins/i18n/config/locales/ar.yml +121 -0
  465. data/vendor/plugins/i18n/config/locales/bg.yml +198 -0
  466. data/vendor/plugins/i18n/config/locales/bn-IN.yml +180 -0
  467. data/vendor/plugins/i18n/config/locales/bs.yml +114 -0
  468. data/vendor/plugins/i18n/config/locales/ca-ES.yml +155 -0
  469. data/vendor/plugins/i18n/config/locales/cz.rb +166 -0
  470. data/vendor/plugins/i18n/config/locales/da.yml +167 -0
  471. data/vendor/plugins/i18n/config/locales/de-AT.yml +140 -0
  472. data/vendor/plugins/i18n/config/locales/de.yml +141 -0
  473. data/vendor/plugins/i18n/config/locales/dsb.yml +182 -0
  474. data/vendor/plugins/i18n/config/locales/el.yml +191 -0
  475. data/vendor/plugins/i18n/config/locales/es-AR.yml +168 -0
  476. data/vendor/plugins/i18n/config/locales/es-CO.yml +146 -0
  477. data/vendor/plugins/i18n/config/locales/es-MX.yml +118 -0
  478. data/vendor/plugins/i18n/config/locales/es.yml +186 -0
  479. data/vendor/plugins/i18n/config/locales/et.yml +109 -0
  480. data/vendor/plugins/i18n/config/locales/fa.yml +119 -0
  481. data/vendor/plugins/i18n/config/locales/fi.yml +154 -0
  482. data/vendor/plugins/i18n/config/locales/fr-CH.yml +123 -0
  483. data/vendor/plugins/i18n/config/locales/fr.yml +140 -0
  484. data/vendor/plugins/i18n/config/locales/fun/en-AU.rb +105 -0
  485. data/vendor/plugins/i18n/config/locales/fun/gibberish.rb +109 -0
  486. data/vendor/plugins/i18n/config/locales/fur.yml +141 -0
  487. data/vendor/plugins/i18n/config/locales/gl-ES.yml +193 -0
  488. data/vendor/plugins/i18n/config/locales/he.yml +103 -0
  489. data/vendor/plugins/i18n/config/locales/hr.yml +116 -0
  490. data/vendor/plugins/i18n/config/locales/hsb.yml +190 -0
  491. data/vendor/plugins/i18n/config/locales/hu.yml +144 -0
  492. data/vendor/plugins/i18n/config/locales/id.yml +122 -0
  493. data/vendor/plugins/i18n/config/locales/is.yml +142 -0
  494. data/vendor/plugins/i18n/config/locales/it.yml +146 -0
  495. data/vendor/plugins/i18n/config/locales/ja.yml +139 -0
  496. data/vendor/plugins/i18n/config/locales/ko.yml +153 -0
  497. data/vendor/plugins/i18n/config/locales/lo.yml +201 -0
  498. data/vendor/plugins/i18n/config/locales/lt.yml +141 -0
  499. data/vendor/plugins/i18n/config/locales/lv.yml +132 -0
  500. data/vendor/plugins/i18n/config/locales/mk.yml +115 -0
  501. data/vendor/plugins/i18n/config/locales/nb.yml +103 -0
  502. data/vendor/plugins/i18n/config/locales/nl.yml +173 -0
  503. data/vendor/plugins/i18n/config/locales/nn.yml +96 -0
  504. data/vendor/plugins/i18n/config/locales/pl.yml +127 -0
  505. data/vendor/plugins/i18n/config/locales/pt-BR.yml +148 -0
  506. data/vendor/plugins/i18n/config/locales/pt-PT.yml +220 -0
  507. data/vendor/plugins/i18n/config/locales/rm.yml +134 -0
  508. data/vendor/plugins/i18n/config/locales/ro.yml +152 -0
  509. data/vendor/plugins/i18n/config/locales/ru.yml +210 -0
  510. data/vendor/plugins/i18n/config/locales/sk.yml +139 -0
  511. data/vendor/plugins/i18n/config/locales/sl.yml +190 -0
  512. data/vendor/plugins/i18n/config/locales/sr-Latn.yml +116 -0
  513. data/vendor/plugins/i18n/config/locales/sr.yml +116 -0
  514. data/vendor/plugins/i18n/config/locales/sv-SE.yml +191 -0
  515. data/vendor/plugins/i18n/config/locales/sw.yml +123 -0
  516. data/vendor/plugins/i18n/config/locales/th.rb +222 -0
  517. data/vendor/plugins/i18n/config/locales/tr.yml +139 -0
  518. data/vendor/plugins/i18n/config/locales/uk.yml +237 -0
  519. data/vendor/plugins/i18n/config/locales/vi.yml +198 -0
  520. data/vendor/plugins/i18n/config/locales/zh-CN.yml +131 -0
  521. data/vendor/plugins/i18n/config/locales/zh-TW.yml +132 -0
  522. data/vendor/plugins/i18n/lib/i18n.rb +115 -0
  523. data/vendor/plugins/i18n/lib/i18n_filter.rb +48 -0
  524. data/vendor/plugins/i18n/lib/routing_filter/MIT-LICENSE +20 -0
  525. data/vendor/plugins/i18n/lib/routing_filter/README.markdown +123 -0
  526. data/vendor/plugins/i18n/lib/routing_filter/VERSION +1 -0
  527. data/vendor/plugins/i18n/lib/routing_filter/routing_filter.rb +96 -0
  528. data/vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb +31 -0
  529. data/vendor/plugins/i18n/lib/routing_filter/routing_filter/force_extension.rb +57 -0
  530. data/vendor/plugins/i18n/lib/routing_filter/routing_filter/pagination.rb +33 -0
  531. data/vendor/plugins/i18n/lib/routing_filter/routing_filter/uuid_token.rb +78 -0
  532. data/vendor/plugins/i18n/rails/init.rb +4 -0
  533. data/vendor/plugins/images/app/controllers/admin/images_controller.rb +6 -7
  534. data/vendor/plugins/images/app/models/image.rb +24 -6
  535. data/vendor/plugins/images/app/views/admin/images/_existing_image.erb +50 -0
  536. data/vendor/plugins/images/app/views/admin/images/_form.html.erb +15 -7
  537. data/vendor/plugins/images/app/views/admin/images/_grid_view.html.erb +5 -5
  538. data/vendor/plugins/images/app/views/admin/images/_list_view.html.erb +3 -1
  539. data/vendor/plugins/images/app/views/admin/images/_list_view_image.html.erb +10 -10
  540. data/vendor/plugins/images/app/views/admin/images/index.html.erb +5 -8
  541. data/vendor/plugins/images/app/views/admin/images/insert.html.erb +16 -38
  542. data/vendor/plugins/images/config/locales/da.yml +44 -0
  543. data/vendor/plugins/images/config/locales/de.yml +45 -0
  544. data/vendor/plugins/images/config/locales/en.yml +44 -0
  545. data/vendor/plugins/images/config/locales/es.yml +45 -0
  546. data/vendor/plugins/images/config/locales/fr.yml +44 -0
  547. data/vendor/plugins/images/config/locales/it.yml +42 -0
  548. data/vendor/plugins/images/config/locales/nb.yml +43 -0
  549. data/vendor/plugins/images/config/locales/nl.yml +44 -0
  550. data/vendor/plugins/images/config/locales/pt-BR.yml +46 -0
  551. data/vendor/plugins/images/config/locales/sl.yml +44 -0
  552. data/vendor/plugins/images/config/routes.rb +1 -1
  553. data/vendor/plugins/images/lib/tasks/images.rake +6 -6
  554. data/vendor/plugins/images/rails/init.rb +5 -1
  555. data/vendor/plugins/images/readme.md +58 -0
  556. data/vendor/plugins/inquiries/app/controllers/admin/inquiries_controller.rb +16 -7
  557. data/vendor/plugins/inquiries/app/controllers/admin/inquiry_settings_controller.rb +5 -9
  558. data/vendor/plugins/inquiries/app/controllers/inquiries_controller.rb +14 -12
  559. data/vendor/plugins/inquiries/app/models/inquiry.rb +133 -6
  560. data/vendor/plugins/inquiries/app/models/inquiry_mailer.rb +2 -2
  561. data/vendor/plugins/inquiries/app/models/inquiry_setting.rb +51 -2
  562. data/vendor/plugins/inquiries/app/views/admin/inquiries/_inquiry.html.erb +16 -8
  563. data/vendor/plugins/inquiries/app/views/admin/inquiries/_submenu.html.erb +27 -0
  564. data/vendor/plugins/inquiries/app/views/admin/inquiries/index.html.erb +3 -18
  565. data/vendor/plugins/inquiries/app/views/admin/inquiries/show.html.erb +23 -12
  566. data/vendor/plugins/inquiries/app/views/admin/inquiries/spam.html.erb +20 -0
  567. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_confirmation_email_form.html.erb +21 -14
  568. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_inquiry_setting.html.erb +11 -0
  569. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_notification_recipients_form.html.erb +21 -14
  570. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_subject_form.html.erb +9 -0
  571. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/edit.html.erb +2 -0
  572. data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/index.html.erb +7 -17
  573. data/vendor/plugins/inquiries/app/views/inquiries/new.html.erb +4 -5
  574. data/vendor/plugins/inquiries/config/locales/da.yml +67 -0
  575. data/vendor/plugins/inquiries/config/locales/de.yml +71 -0
  576. data/vendor/plugins/inquiries/config/locales/en.yml +75 -0
  577. data/vendor/plugins/inquiries/config/locales/es.yml +68 -0
  578. data/vendor/plugins/inquiries/config/locales/fr.yml +65 -0
  579. data/vendor/plugins/inquiries/config/locales/it.yml +66 -0
  580. data/vendor/plugins/inquiries/config/locales/nb.yml +67 -0
  581. data/vendor/plugins/inquiries/config/locales/nl.yml +71 -0
  582. data/vendor/plugins/inquiries/config/locales/pt-BR.yml +75 -0
  583. data/vendor/plugins/inquiries/config/locales/sl.yml +68 -0
  584. data/vendor/plugins/inquiries/config/routes.rb +4 -3
  585. data/vendor/plugins/inquiries/rails/init.rb +6 -3
  586. data/vendor/plugins/inquiries/readme.md +31 -0
  587. data/vendor/plugins/model_translations/MIT-LICENSE +20 -0
  588. data/vendor/plugins/model_translations/README.rdoc +90 -0
  589. data/vendor/plugins/model_translations/Rakefile +23 -0
  590. data/vendor/plugins/model_translations/init.rb +1 -0
  591. data/vendor/plugins/model_translations/lib/active_record/model_translations.rb +55 -0
  592. data/vendor/plugins/model_translations/test/model_translations_test.rb +88 -0
  593. data/vendor/plugins/model_translations/test/test_helper.rb +3 -0
  594. data/vendor/plugins/pages/app/controllers/admin/page_dialogs_controller.rb +29 -0
  595. data/vendor/plugins/pages/app/controllers/admin/page_parts_controller.rb +2 -0
  596. data/vendor/plugins/pages/app/controllers/admin/pages_controller.rb +37 -10
  597. data/vendor/plugins/pages/app/controllers/pages_controller.rb +24 -2
  598. data/vendor/plugins/pages/app/models/page.rb +90 -15
  599. data/vendor/plugins/pages/app/models/page_part.rb +1 -1
  600. data/vendor/plugins/pages/app/views/admin/page_dialogs/_page_link.html.erb +1 -1
  601. data/vendor/plugins/pages/app/views/admin/page_dialogs/link_to.html.erb +59 -74
  602. data/vendor/plugins/pages/app/views/admin/pages/_form.html.erb +14 -39
  603. data/vendor/plugins/pages/app/views/admin/pages/_form_advanced_options.html.erb +56 -50
  604. data/vendor/plugins/pages/app/views/admin/pages/_form_advanced_options_seo.html.erb +23 -21
  605. data/vendor/plugins/pages/app/views/admin/pages/_form_page_parts.html.erb +37 -0
  606. data/vendor/plugins/pages/app/views/admin/pages/_page.html.erb +10 -11
  607. data/vendor/plugins/pages/app/views/admin/pages/_page_part_field.html.erb +3 -2
  608. data/vendor/plugins/pages/app/views/admin/pages/index.html.erb +7 -7
  609. data/vendor/plugins/pages/app/views/pages/home.html.erb +1 -1
  610. data/vendor/plugins/pages/config/locales/da.yml +53 -0
  611. data/vendor/plugins/pages/config/locales/de.yml +53 -0
  612. data/vendor/plugins/pages/config/locales/en.yml +95 -0
  613. data/vendor/plugins/pages/config/locales/es.yml +53 -0
  614. data/vendor/plugins/pages/config/locales/fr.yml +53 -0
  615. data/vendor/plugins/pages/config/locales/it.yml +53 -0
  616. data/vendor/plugins/pages/config/locales/nb.yml +53 -0
  617. data/vendor/plugins/pages/config/locales/nl.yml +54 -0
  618. data/vendor/plugins/pages/config/locales/pt-BR.yml +61 -0
  619. data/vendor/plugins/pages/config/locales/sl.yml +96 -0
  620. data/vendor/plugins/pages/config/routes.rb +2 -2
  621. data/vendor/plugins/pages/rails/init.rb +5 -1
  622. data/vendor/plugins/pages/readme.md +156 -0
  623. data/vendor/plugins/refinery/app/controllers/admin/refinery_core_controller.rb +4 -2
  624. data/vendor/plugins/refinery/app/controllers/refinery/fast_controller.rb +7 -0
  625. data/vendor/plugins/refinery/app/views/admin/_head.html.erb +42 -9
  626. data/vendor/plugins/refinery/app/views/admin/_menu.html.erb +14 -15
  627. data/vendor/plugins/refinery/app/views/admin/_menu_tab.html.erb +4 -0
  628. data/vendor/plugins/refinery/app/views/layouts/admin.html.erb +10 -5
  629. data/vendor/plugins/refinery/app/views/layouts/application.html.erb +3 -3
  630. data/vendor/plugins/refinery/app/views/shared/_content_page.html.erb +28 -29
  631. data/vendor/plugins/refinery/app/views/shared/_draft_page_message.html.erb +3 -0
  632. data/vendor/plugins/refinery/app/views/shared/_google_analytics.html.erb +2 -1
  633. data/vendor/plugins/refinery/app/views/shared/_head.html.erb +1 -0
  634. data/vendor/plugins/refinery/app/views/shared/_header.html.erb +1 -1
  635. data/vendor/plugins/refinery/app/views/shared/_ie6check.html.erb +44 -4
  636. data/vendor/plugins/refinery/app/views/shared/_language_switcher.html.erb +5 -0
  637. data/vendor/plugins/refinery/app/views/shared/_menu.html.erb +17 -8
  638. data/vendor/plugins/refinery/app/views/shared/_menu_branch.html.erb +19 -21
  639. data/vendor/plugins/refinery/app/views/shared/_message.html.erb +6 -1
  640. data/vendor/plugins/refinery/app/views/shared/_site_bar.html.erb +38 -15
  641. data/vendor/plugins/refinery/app/views/shared/admin/_continue_editing.html.erb +1 -2
  642. data/vendor/plugins/refinery/app/views/shared/admin/_form_actions.html.erb +58 -14
  643. data/vendor/plugins/refinery/app/views/shared/admin/_image_picker.html.erb +7 -6
  644. data/vendor/plugins/refinery/app/views/shared/admin/_make_sortable.html.erb +10 -9
  645. data/vendor/plugins/refinery/app/views/shared/admin/_resource_picker.html.erb +7 -4
  646. data/vendor/plugins/refinery/app/views/shared/admin/_search.html.erb +3 -4
  647. data/vendor/plugins/refinery/app/views/shared/admin/_sortable_list.html.erb +1 -1
  648. data/vendor/plugins/refinery/app/views/welcome.html.erb +5 -7
  649. data/vendor/plugins/refinery/app/views/wymiframe.html.erb +13 -5
  650. data/vendor/plugins/refinery/config/locales/da.yml +71 -0
  651. data/vendor/plugins/refinery/config/locales/de.yml +67 -0
  652. data/vendor/plugins/refinery/config/locales/en.yml +59 -0
  653. data/vendor/plugins/refinery/config/locales/es.yml +64 -0
  654. data/vendor/plugins/refinery/config/locales/fr.yml +67 -0
  655. data/vendor/plugins/refinery/config/locales/it.yml +68 -0
  656. data/vendor/plugins/refinery/config/locales/nb.yml +64 -0
  657. data/vendor/plugins/refinery/config/locales/nl.yml +63 -0
  658. data/vendor/plugins/refinery/config/locales/pt-BR.yml +60 -0
  659. data/vendor/plugins/refinery/config/locales/sl.yml +61 -0
  660. data/vendor/plugins/refinery/config/routes.rb +4 -4
  661. data/vendor/plugins/refinery/crud.md +2 -2
  662. data/vendor/plugins/refinery/lib/crud.rb +34 -25
  663. data/vendor/plugins/refinery/lib/generators/refinery/refinery_generator.rb +9 -2
  664. data/vendor/plugins/refinery/lib/generators/refinery/templates/config/locales/en.yml +16 -0
  665. data/vendor/plugins/refinery/lib/generators/refinery/templates/config/locales/nl.yml +16 -0
  666. data/vendor/plugins/refinery/lib/generators/refinery/templates/config/routes.rb +2 -2
  667. data/vendor/plugins/refinery/lib/generators/refinery/templates/migration.rb +1 -14
  668. data/vendor/plugins/refinery/lib/generators/refinery/templates/model.rb +1 -2
  669. data/vendor/plugins/refinery/lib/generators/refinery/templates/rails/init.rb +3 -0
  670. data/vendor/plugins/refinery/lib/generators/refinery/templates/seed.rb +15 -0
  671. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/_form.html.erb +2 -2
  672. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/_singular_name.html.erb +10 -11
  673. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/index.html.erb +5 -6
  674. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/show.html.erb +1 -1
  675. data/vendor/plugins/refinery/lib/refinery.rb +22 -1
  676. data/vendor/plugins/refinery/lib/refinery/activity.rb +1 -1
  677. data/vendor/plugins/refinery/lib/refinery/admin_base_controller.rb +56 -10
  678. data/vendor/plugins/refinery/lib/refinery/application_controller.rb +39 -14
  679. data/vendor/plugins/refinery/lib/refinery/application_helper.rb +62 -12
  680. data/vendor/plugins/refinery/lib/refinery/base_presenter.rb +1 -1
  681. data/vendor/plugins/refinery/lib/refinery/form_helpers.rb +37 -2
  682. data/vendor/plugins/refinery/lib/refinery/html_truncation_helper.rb +10 -100
  683. data/vendor/plugins/refinery/lib/refinery/initializer.rb +15 -1
  684. data/vendor/plugins/refinery/lib/refinery/plugin.rb +26 -14
  685. data/vendor/plugins/refinery/lib/refinery/plugins.rb +21 -8
  686. data/vendor/plugins/refinery/lib/tasks/doc.rake +24 -24
  687. data/vendor/plugins/refinery/lib/tasks/refinery.rake +232 -9
  688. data/vendor/plugins/refinery/lib/tasks/yard.rake +22 -22
  689. data/vendor/plugins/refinery/plugins.md +6 -6
  690. data/vendor/plugins/refinery/rails/init.rb +8 -1
  691. data/vendor/plugins/refinery_dialogs/app/controllers/admin/dialogs_controller.rb +4 -0
  692. data/vendor/plugins/refinery_dialogs/app/views/admin/dialogs/show.html.erb +11 -12
  693. data/vendor/plugins/refinery_dialogs/app/views/layouts/admin_dialog.html.erb +4 -2
  694. data/vendor/plugins/refinery_dialogs/config/routes.rb +1 -1
  695. data/vendor/plugins/refinery_dialogs/rails/init.rb +4 -0
  696. data/vendor/plugins/refinery_settings/app/controllers/admin/refinery_settings_controller.rb +39 -0
  697. data/vendor/plugins/refinery_settings/app/models/refinery_setting.rb +67 -10
  698. data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/_form.html.erb +30 -6
  699. data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/_refinery_setting.html.erb +10 -11
  700. data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/edit.html.erb +0 -3
  701. data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/index.html.erb +13 -4
  702. data/vendor/plugins/refinery_settings/config/locales/da.yml +49 -0
  703. data/vendor/plugins/refinery_settings/config/locales/de.yml +23 -0
  704. data/vendor/plugins/refinery_settings/config/locales/en.yml +45 -0
  705. data/vendor/plugins/refinery_settings/config/locales/es.yml +23 -0
  706. data/vendor/plugins/refinery_settings/config/locales/fr.yml +23 -0
  707. data/vendor/plugins/refinery_settings/config/locales/it.yml +23 -0
  708. data/vendor/plugins/refinery_settings/config/locales/nb.yml +23 -0
  709. data/vendor/plugins/refinery_settings/config/locales/nl.yml +46 -0
  710. data/vendor/plugins/refinery_settings/config/locales/pt-BR.yml +23 -0
  711. data/vendor/plugins/refinery_settings/config/locales/sl.yml +24 -0
  712. data/vendor/plugins/refinery_settings/config/routes.rb +1 -1
  713. data/vendor/plugins/refinery_settings/rails/init.rb +5 -8
  714. data/vendor/plugins/refinery_settings/{settings.md → readme.md} +0 -0
  715. data/vendor/plugins/resources/app/controllers/admin/resources_controller.rb +2 -7
  716. data/vendor/plugins/resources/app/models/resource.rb +8 -3
  717. data/vendor/plugins/resources/app/views/admin/resources/_existing_resource.html.erb +34 -0
  718. data/vendor/plugins/resources/app/views/admin/resources/_form.html.erb +15 -7
  719. data/vendor/plugins/resources/app/views/admin/resources/_resource.html.erb +12 -12
  720. data/vendor/plugins/resources/app/views/admin/resources/index.html.erb +8 -6
  721. data/vendor/plugins/resources/app/views/admin/resources/insert.html.erb +4 -40
  722. data/vendor/plugins/resources/config/locales/da.yml +34 -0
  723. data/vendor/plugins/resources/config/locales/de.yml +32 -0
  724. data/vendor/plugins/resources/config/locales/en.yml +32 -0
  725. data/vendor/plugins/resources/config/locales/es.yml +34 -0
  726. data/vendor/plugins/resources/config/locales/fr.yml +34 -0
  727. data/vendor/plugins/resources/config/locales/it.yml +33 -0
  728. data/vendor/plugins/resources/config/locales/nb.yml +34 -0
  729. data/vendor/plugins/resources/config/locales/nl.yml +34 -0
  730. data/vendor/plugins/resources/config/locales/pt-BR.yml +34 -0
  731. data/vendor/plugins/resources/config/locales/sl.yml +34 -0
  732. data/vendor/plugins/resources/config/routes.rb +1 -3
  733. data/vendor/plugins/resources/rails/init.rb +5 -1
  734. data/vendor/plugins/resources/{resources.md → readme.md} +0 -0
  735. data/vendor/plugins/themes/lib/theme_server.rb +1 -1
  736. data/vendor/plugins/themes/rails/init.rb +4 -1
  737. data/vendor/plugins/themes/readme.md +113 -0
  738. data/vendor/plugins/{rails_indexes → translate}/MIT-LICENSE +0 -0
  739. data/vendor/plugins/translate/README +61 -0
  740. data/vendor/plugins/translate/REFINERY_README +8 -0
  741. data/vendor/plugins/translate/Rakefile +11 -0
  742. data/vendor/plugins/translate/init.rb +8 -0
  743. data/vendor/plugins/translate/lib/translate.rb +13 -0
  744. data/vendor/plugins/translate/lib/translate/file.rb +35 -0
  745. data/vendor/plugins/translate/lib/translate/keys.rb +123 -0
  746. data/vendor/plugins/translate/lib/translate/log.rb +39 -0
  747. data/vendor/plugins/translate/lib/translate/storage.rb +20 -0
  748. data/vendor/plugins/translate/tasks/translate.rake +182 -0
  749. metadata +574 -366
  750. data/.gems +0 -0
  751. data/VERSION +0 -1
  752. data/bin/refinery-override +0 -76
  753. data/public/images/thickbox/cross.png +0 -0
  754. data/public/images/thickbox/loadingAnimation.gif +0 -0
  755. data/public/images/thickbox/macFFBgHack.png +0 -0
  756. data/public/javascripts/jquery-ui-1.8.min.js +0 -374
  757. data/vendor/plugins/acts_as_indexed/CHANGELOG +0 -78
  758. data/vendor/plugins/acts_as_indexed/MIT-LICENSE +0 -20
  759. data/vendor/plugins/acts_as_indexed/README.rdoc +0 -114
  760. data/vendor/plugins/acts_as_indexed/Rakefile +0 -35
  761. data/vendor/plugins/acts_as_indexed/init.rb +0 -2
  762. data/vendor/plugins/acts_as_indexed/lib/acts_as_indexed.rb +0 -224
  763. data/vendor/plugins/acts_as_indexed/lib/search_atom.rb +0 -109
  764. data/vendor/plugins/acts_as_indexed/lib/search_index.rb +0 -329
  765. data/vendor/plugins/acts_as_indexed/lib/will_paginate_search.rb +0 -29
  766. data/vendor/plugins/acts_as_indexed/test/abstract_unit.rb +0 -47
  767. data/vendor/plugins/acts_as_indexed/test/acts_as_indexed_test.rb +0 -102
  768. data/vendor/plugins/acts_as_indexed/test/database.yml +0 -10
  769. data/vendor/plugins/acts_as_indexed/test/fixtures/post.rb +0 -5
  770. data/vendor/plugins/acts_as_indexed/test/fixtures/posts.yml +0 -31
  771. data/vendor/plugins/acts_as_indexed/test/schema.rb +0 -6
  772. data/vendor/plugins/authlogic/CHANGELOG.rdoc +0 -345
  773. data/vendor/plugins/authlogic/LICENSE +0 -20
  774. data/vendor/plugins/authlogic/README.rdoc +0 -246
  775. data/vendor/plugins/authlogic/Rakefile +0 -42
  776. data/vendor/plugins/authlogic/VERSION.yml +0 -5
  777. data/vendor/plugins/authlogic/authlogic.gemspec +0 -217
  778. data/vendor/plugins/authlogic/generators/session/session_generator.rb +0 -9
  779. data/vendor/plugins/authlogic/generators/session/templates/session.rb +0 -2
  780. data/vendor/plugins/authlogic/init.rb +0 -1
  781. data/vendor/plugins/authlogic/lib/authlogic.rb +0 -64
  782. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/base.rb +0 -107
  783. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/email.rb +0 -110
  784. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/logged_in_status.rb +0 -60
  785. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/login.rb +0 -141
  786. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/magic_columns.rb +0 -24
  787. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/password.rb +0 -355
  788. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/perishable_token.rb +0 -105
  789. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/persistence_token.rb +0 -68
  790. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/restful_authentication.rb +0 -61
  791. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/session_maintenance.rb +0 -139
  792. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/single_access_token.rb +0 -65
  793. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/validations_scope.rb +0 -32
  794. data/vendor/plugins/authlogic/lib/authlogic/authenticates_many/association.rb +0 -42
  795. data/vendor/plugins/authlogic/lib/authlogic/authenticates_many/base.rb +0 -55
  796. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/abstract_adapter.rb +0 -67
  797. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/merb_adapter.rb +0 -30
  798. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/rails_adapter.rb +0 -48
  799. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/sinatra_adapter.rb +0 -61
  800. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/aes256.rb +0 -43
  801. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/bcrypt.rb +0 -90
  802. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/md5.rb +0 -34
  803. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha1.rb +0 -35
  804. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha256.rb +0 -50
  805. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha512.rb +0 -50
  806. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/wordpress.rb +0 -43
  807. data/vendor/plugins/authlogic/lib/authlogic/i18n.rb +0 -83
  808. data/vendor/plugins/authlogic/lib/authlogic/i18n/translator.rb +0 -15
  809. data/vendor/plugins/authlogic/lib/authlogic/random.rb +0 -33
  810. data/vendor/plugins/authlogic/lib/authlogic/regex.rb +0 -25
  811. data/vendor/plugins/authlogic/lib/authlogic/session/activation.rb +0 -58
  812. data/vendor/plugins/authlogic/lib/authlogic/session/active_record_trickery.rb +0 -64
  813. data/vendor/plugins/authlogic/lib/authlogic/session/base.rb +0 -37
  814. data/vendor/plugins/authlogic/lib/authlogic/session/brute_force_protection.rb +0 -96
  815. data/vendor/plugins/authlogic/lib/authlogic/session/callbacks.rb +0 -99
  816. data/vendor/plugins/authlogic/lib/authlogic/session/cookies.rb +0 -130
  817. data/vendor/plugins/authlogic/lib/authlogic/session/existence.rb +0 -93
  818. data/vendor/plugins/authlogic/lib/authlogic/session/foundation.rb +0 -63
  819. data/vendor/plugins/authlogic/lib/authlogic/session/http_auth.rb +0 -58
  820. data/vendor/plugins/authlogic/lib/authlogic/session/id.rb +0 -41
  821. data/vendor/plugins/authlogic/lib/authlogic/session/klass.rb +0 -78
  822. data/vendor/plugins/authlogic/lib/authlogic/session/magic_columns.rb +0 -95
  823. data/vendor/plugins/authlogic/lib/authlogic/session/magic_states.rb +0 -59
  824. data/vendor/plugins/authlogic/lib/authlogic/session/params.rb +0 -101
  825. data/vendor/plugins/authlogic/lib/authlogic/session/password.rb +0 -240
  826. data/vendor/plugins/authlogic/lib/authlogic/session/perishable_token.rb +0 -18
  827. data/vendor/plugins/authlogic/lib/authlogic/session/persistence.rb +0 -70
  828. data/vendor/plugins/authlogic/lib/authlogic/session/priority_record.rb +0 -34
  829. data/vendor/plugins/authlogic/lib/authlogic/session/scopes.rb +0 -101
  830. data/vendor/plugins/authlogic/lib/authlogic/session/session.rb +0 -62
  831. data/vendor/plugins/authlogic/lib/authlogic/session/timeout.rb +0 -82
  832. data/vendor/plugins/authlogic/lib/authlogic/session/unauthorized_record.rb +0 -50
  833. data/vendor/plugins/authlogic/lib/authlogic/session/validation.rb +0 -82
  834. data/vendor/plugins/authlogic/lib/authlogic/test_case.rb +0 -120
  835. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_controller.rb +0 -45
  836. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_cookie_jar.rb +0 -14
  837. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_logger.rb +0 -10
  838. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_request.rb +0 -19
  839. data/vendor/plugins/authlogic/lib/authlogic/test_case/rails_request_adapter.rb +0 -30
  840. data/vendor/plugins/authlogic/rails/init.rb +0 -1
  841. data/vendor/plugins/authlogic/shoulda_macros/authlogic.rb +0 -69
  842. data/vendor/plugins/authlogic/test/acts_as_authentic_test/base_test.rb +0 -18
  843. data/vendor/plugins/authlogic/test/acts_as_authentic_test/email_test.rb +0 -97
  844. data/vendor/plugins/authlogic/test/acts_as_authentic_test/logged_in_status_test.rb +0 -36
  845. data/vendor/plugins/authlogic/test/acts_as_authentic_test/login_test.rb +0 -109
  846. data/vendor/plugins/authlogic/test/acts_as_authentic_test/magic_columns_test.rb +0 -27
  847. data/vendor/plugins/authlogic/test/acts_as_authentic_test/password_test.rb +0 -236
  848. data/vendor/plugins/authlogic/test/acts_as_authentic_test/perishable_token_test.rb +0 -90
  849. data/vendor/plugins/authlogic/test/acts_as_authentic_test/persistence_token_test.rb +0 -55
  850. data/vendor/plugins/authlogic/test/acts_as_authentic_test/restful_authentication_test.rb +0 -40
  851. data/vendor/plugins/authlogic/test/acts_as_authentic_test/session_maintenance_test.rb +0 -84
  852. data/vendor/plugins/authlogic/test/acts_as_authentic_test/single_access_test.rb +0 -44
  853. data/vendor/plugins/authlogic/test/authenticates_many_test.rb +0 -16
  854. data/vendor/plugins/authlogic/test/crypto_provider_test/aes256_test.rb +0 -14
  855. data/vendor/plugins/authlogic/test/crypto_provider_test/bcrypt_test.rb +0 -14
  856. data/vendor/plugins/authlogic/test/crypto_provider_test/sha1_test.rb +0 -23
  857. data/vendor/plugins/authlogic/test/crypto_provider_test/sha256_test.rb +0 -14
  858. data/vendor/plugins/authlogic/test/crypto_provider_test/sha512_test.rb +0 -14
  859. data/vendor/plugins/authlogic/test/fixtures/companies.yml +0 -5
  860. data/vendor/plugins/authlogic/test/fixtures/employees.yml +0 -17
  861. data/vendor/plugins/authlogic/test/fixtures/projects.yml +0 -3
  862. data/vendor/plugins/authlogic/test/fixtures/users.yml +0 -24
  863. data/vendor/plugins/authlogic/test/i18n_test.rb +0 -33
  864. data/vendor/plugins/authlogic/test/libs/affiliate.rb +0 -7
  865. data/vendor/plugins/authlogic/test/libs/company.rb +0 -6
  866. data/vendor/plugins/authlogic/test/libs/employee.rb +0 -7
  867. data/vendor/plugins/authlogic/test/libs/employee_session.rb +0 -2
  868. data/vendor/plugins/authlogic/test/libs/ldaper.rb +0 -3
  869. data/vendor/plugins/authlogic/test/libs/ordered_hash.rb +0 -9
  870. data/vendor/plugins/authlogic/test/libs/project.rb +0 -3
  871. data/vendor/plugins/authlogic/test/libs/user.rb +0 -5
  872. data/vendor/plugins/authlogic/test/libs/user_session.rb +0 -6
  873. data/vendor/plugins/authlogic/test/random_test.rb +0 -49
  874. data/vendor/plugins/authlogic/test/session_test/activation_test.rb +0 -43
  875. data/vendor/plugins/authlogic/test/session_test/active_record_trickery_test.rb +0 -36
  876. data/vendor/plugins/authlogic/test/session_test/brute_force_protection_test.rb +0 -101
  877. data/vendor/plugins/authlogic/test/session_test/callbacks_test.rb +0 -6
  878. data/vendor/plugins/authlogic/test/session_test/cookies_test.rb +0 -112
  879. data/vendor/plugins/authlogic/test/session_test/credentials_test.rb +0 -0
  880. data/vendor/plugins/authlogic/test/session_test/existence_test.rb +0 -64
  881. data/vendor/plugins/authlogic/test/session_test/http_auth_test.rb +0 -28
  882. data/vendor/plugins/authlogic/test/session_test/id_test.rb +0 -17
  883. data/vendor/plugins/authlogic/test/session_test/klass_test.rb +0 -40
  884. data/vendor/plugins/authlogic/test/session_test/magic_columns_test.rb +0 -62
  885. data/vendor/plugins/authlogic/test/session_test/magic_states_test.rb +0 -60
  886. data/vendor/plugins/authlogic/test/session_test/params_test.rb +0 -53
  887. data/vendor/plugins/authlogic/test/session_test/password_test.rb +0 -106
  888. data/vendor/plugins/authlogic/test/session_test/perishability_test.rb +0 -15
  889. data/vendor/plugins/authlogic/test/session_test/persistence_test.rb +0 -21
  890. data/vendor/plugins/authlogic/test/session_test/scopes_test.rb +0 -60
  891. data/vendor/plugins/authlogic/test/session_test/session_test.rb +0 -59
  892. data/vendor/plugins/authlogic/test/session_test/timeout_test.rb +0 -52
  893. data/vendor/plugins/authlogic/test/session_test/unauthorized_record_test.rb +0 -13
  894. data/vendor/plugins/authlogic/test/session_test/validation_test.rb +0 -23
  895. data/vendor/plugins/authlogic/test/test_helper.rb +0 -182
  896. data/vendor/plugins/friendly_id/Changelog.md +0 -243
  897. data/vendor/plugins/friendly_id/Contributors.md +0 -30
  898. data/vendor/plugins/friendly_id/Gemfile +0 -2
  899. data/vendor/plugins/friendly_id/Guide.md +0 -509
  900. data/vendor/plugins/friendly_id/LICENSE +0 -19
  901. data/vendor/plugins/friendly_id/README.md +0 -76
  902. data/vendor/plugins/friendly_id/Rakefile +0 -68
  903. data/vendor/plugins/friendly_id/extras/README.txt +0 -3
  904. data/vendor/plugins/friendly_id/extras/bench.rb +0 -59
  905. data/vendor/plugins/friendly_id/extras/extras.rb +0 -31
  906. data/vendor/plugins/friendly_id/extras/prof.rb +0 -14
  907. data/vendor/plugins/friendly_id/extras/template-gem.rb +0 -26
  908. data/vendor/plugins/friendly_id/extras/template-plugin.rb +0 -28
  909. data/vendor/plugins/friendly_id/friendly_id.gemspec +0 -40
  910. data/vendor/plugins/friendly_id/generators/friendly_id/friendly_id_generator.rb +0 -28
  911. data/vendor/plugins/friendly_id/generators/friendly_id/templates/create_slugs.rb +0 -18
  912. data/vendor/plugins/friendly_id/lib/friendly_id.rb +0 -67
  913. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2.rb +0 -47
  914. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/configuration.rb +0 -66
  915. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/finders.rb +0 -140
  916. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/simple_model.rb +0 -162
  917. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/slug.rb +0 -111
  918. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/slugged_model.rb +0 -323
  919. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/tasks.rb +0 -66
  920. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/tasks/friendly_id.rake +0 -19
  921. data/vendor/plugins/friendly_id/lib/friendly_id/configuration.rb +0 -132
  922. data/vendor/plugins/friendly_id/lib/friendly_id/finders.rb +0 -106
  923. data/vendor/plugins/friendly_id/lib/friendly_id/slug_string.rb +0 -292
  924. data/vendor/plugins/friendly_id/lib/friendly_id/slugged.rb +0 -91
  925. data/vendor/plugins/friendly_id/lib/friendly_id/status.rb +0 -35
  926. data/vendor/plugins/friendly_id/lib/friendly_id/test.rb +0 -175
  927. data/vendor/plugins/friendly_id/lib/friendly_id/version.rb +0 -8
  928. data/vendor/plugins/friendly_id/rails/init.rb +0 -2
  929. data/vendor/plugins/friendly_id/test/active_record2/basic_slugged_model_test.rb +0 -14
  930. data/vendor/plugins/friendly_id/test/active_record2/cached_slug_test.rb +0 -61
  931. data/vendor/plugins/friendly_id/test/active_record2/core.rb +0 -93
  932. data/vendor/plugins/friendly_id/test/active_record2/custom_normalizer_test.rb +0 -20
  933. data/vendor/plugins/friendly_id/test/active_record2/custom_table_name_test.rb +0 -22
  934. data/vendor/plugins/friendly_id/test/active_record2/deprecated_test.rb +0 -23
  935. data/vendor/plugins/friendly_id/test/active_record2/scoped_model_test.rb +0 -111
  936. data/vendor/plugins/friendly_id/test/active_record2/simple_test.rb +0 -59
  937. data/vendor/plugins/friendly_id/test/active_record2/slug_test.rb +0 -34
  938. data/vendor/plugins/friendly_id/test/active_record2/slugged.rb +0 -30
  939. data/vendor/plugins/friendly_id/test/active_record2/slugged_status_test.rb +0 -61
  940. data/vendor/plugins/friendly_id/test/active_record2/sti_test.rb +0 -22
  941. data/vendor/plugins/friendly_id/test/active_record2/support/database.mysql.yml +0 -4
  942. data/vendor/plugins/friendly_id/test/active_record2/support/database.postgres.yml +0 -6
  943. data/vendor/plugins/friendly_id/test/active_record2/support/database.sqlite3.yml +0 -2
  944. data/vendor/plugins/friendly_id/test/active_record2/support/models.rb +0 -78
  945. data/vendor/plugins/friendly_id/test/active_record2/tasks_test.rb +0 -82
  946. data/vendor/plugins/friendly_id/test/active_record2/test_helper.rb +0 -114
  947. data/vendor/plugins/friendly_id/test/friendly_id_test.rb +0 -60
  948. data/vendor/plugins/friendly_id/test/slug_string_test.rb +0 -78
  949. data/vendor/plugins/friendly_id/test/test_helper.rb +0 -9
  950. data/vendor/plugins/hpricot/CHANGELOG +0 -88
  951. data/vendor/plugins/hpricot/COPYING +0 -18
  952. data/vendor/plugins/hpricot/README +0 -275
  953. data/vendor/plugins/hpricot/Rakefile +0 -272
  954. data/vendor/plugins/hpricot/ext/fast_xs/FastXsService.java +0 -1030
  955. data/vendor/plugins/hpricot/ext/fast_xs/extconf.rb +0 -4
  956. data/vendor/plugins/hpricot/ext/fast_xs/fast_xs.c +0 -201
  957. data/vendor/plugins/hpricot/ext/hpricot_scan/HpricotCss.java +0 -831
  958. data/vendor/plugins/hpricot/ext/hpricot_scan/HpricotScanService.java +0 -2086
  959. data/vendor/plugins/hpricot/ext/hpricot_scan/MANIFEST +0 -0
  960. data/vendor/plugins/hpricot/ext/hpricot_scan/extconf.rb +0 -6
  961. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_common.rl +0 -76
  962. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.c +0 -3503
  963. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.java.rl +0 -155
  964. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.rl +0 -115
  965. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.c +0 -6927
  966. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.h +0 -79
  967. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.java.rl +0 -1152
  968. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.rl +0 -788
  969. data/vendor/plugins/hpricot/extras/mingw-rbconfig.rb +0 -176
  970. data/vendor/plugins/hpricot/hpricot.gemspec +0 -17
  971. data/vendor/plugins/hpricot/lib/hpricot.rb +0 -26
  972. data/vendor/plugins/hpricot/lib/hpricot/blankslate.rb +0 -63
  973. data/vendor/plugins/hpricot/lib/hpricot/builder.rb +0 -216
  974. data/vendor/plugins/hpricot/lib/hpricot/elements.rb +0 -510
  975. data/vendor/plugins/hpricot/lib/hpricot/htmlinfo.rb +0 -691
  976. data/vendor/plugins/hpricot/lib/hpricot/inspect.rb +0 -103
  977. data/vendor/plugins/hpricot/lib/hpricot/modules.rb +0 -40
  978. data/vendor/plugins/hpricot/lib/hpricot/parse.rb +0 -38
  979. data/vendor/plugins/hpricot/lib/hpricot/tag.rb +0 -219
  980. data/vendor/plugins/hpricot/lib/hpricot/tags.rb +0 -164
  981. data/vendor/plugins/hpricot/lib/hpricot/traverse.rb +0 -839
  982. data/vendor/plugins/hpricot/lib/hpricot/xchar.rb +0 -94
  983. data/vendor/plugins/hpricot/setup.rb +0 -1585
  984. data/vendor/plugins/hpricot/test/files/basic.xhtml +0 -17
  985. data/vendor/plugins/hpricot/test/files/boingboing.html +0 -2266
  986. data/vendor/plugins/hpricot/test/files/cy0.html +0 -3653
  987. data/vendor/plugins/hpricot/test/files/immob.html +0 -400
  988. data/vendor/plugins/hpricot/test/files/pace_application.html +0 -1320
  989. data/vendor/plugins/hpricot/test/files/tenderlove.html +0 -16
  990. data/vendor/plugins/hpricot/test/files/uswebgen.html +0 -220
  991. data/vendor/plugins/hpricot/test/files/utf8.html +0 -1054
  992. data/vendor/plugins/hpricot/test/files/week9.html +0 -1723
  993. data/vendor/plugins/hpricot/test/files/why.xml +0 -19
  994. data/vendor/plugins/hpricot/test/load_files.rb +0 -7
  995. data/vendor/plugins/hpricot/test/nokogiri-bench.rb +0 -64
  996. data/vendor/plugins/hpricot/test/test_alter.rb +0 -96
  997. data/vendor/plugins/hpricot/test/test_builder.rb +0 -37
  998. data/vendor/plugins/hpricot/test/test_parser.rb +0 -428
  999. data/vendor/plugins/hpricot/test/test_paths.rb +0 -25
  1000. data/vendor/plugins/hpricot/test/test_preserved.rb +0 -88
  1001. data/vendor/plugins/hpricot/test/test_xml.rb +0 -28
  1002. data/vendor/plugins/images/images.md +0 -53
  1003. data/vendor/plugins/inquiries/inquiries.md +0 -31
  1004. data/vendor/plugins/pages/pages.md +0 -146
  1005. data/vendor/plugins/rails_indexes/README.textile +0 -46
  1006. data/vendor/plugins/rails_indexes/Rakefile +0 -23
  1007. data/vendor/plugins/rails_indexes/lib/indexer.rb +0 -303
  1008. data/vendor/plugins/rails_indexes/tasks/indexer.rake +0 -18
  1009. data/vendor/plugins/rails_indexes/test/fixtures/app/controllers/users_controller.rb +0 -8
  1010. data/vendor/plugins/rails_indexes/test/fixtures/app/models/address.rb +0 -5
  1011. data/vendor/plugins/rails_indexes/test/fixtures/app/models/company.rb +0 -11
  1012. data/vendor/plugins/rails_indexes/test/fixtures/app/models/country.rb +0 -4
  1013. data/vendor/plugins/rails_indexes/test/fixtures/app/models/freelancer.rb +0 -3
  1014. data/vendor/plugins/rails_indexes/test/fixtures/app/models/gift.rb +0 -10
  1015. data/vendor/plugins/rails_indexes/test/fixtures/app/models/god.rb +0 -3
  1016. data/vendor/plugins/rails_indexes/test/fixtures/app/models/user.rb +0 -17
  1017. data/vendor/plugins/rails_indexes/test/fixtures/app/sweepers/user_sweeper.rb +0 -9
  1018. data/vendor/plugins/rails_indexes/test/fixtures/schema.rb +0 -46
  1019. data/vendor/plugins/rails_indexes/test/rails_indexes_test.rb +0 -83
  1020. data/vendor/plugins/rails_indexes/test/test_helper.rb +0 -30
  1021. data/vendor/plugins/refinery/app/views/admin/_footer.html.erb +0 -7
  1022. data/vendor/plugins/refinery/app/views/shared/_submenu.html.erb +0 -5
  1023. data/vendor/plugins/refinery/app/views/shared/_submenu_branch.html.erb +0 -10
  1024. data/vendor/plugins/themes/themes.md +0 -113
  1025. data/vendor/plugins/will_paginate/.manifest +0 -43
  1026. data/vendor/plugins/will_paginate/CHANGELOG.rdoc +0 -139
  1027. data/vendor/plugins/will_paginate/LICENSE +0 -18
  1028. data/vendor/plugins/will_paginate/README.rdoc +0 -107
  1029. data/vendor/plugins/will_paginate/Rakefile +0 -53
  1030. data/vendor/plugins/will_paginate/examples/apple-circle.gif +0 -0
  1031. data/vendor/plugins/will_paginate/examples/index.haml +0 -69
  1032. data/vendor/plugins/will_paginate/examples/index.html +0 -92
  1033. data/vendor/plugins/will_paginate/examples/pagination.css +0 -90
  1034. data/vendor/plugins/will_paginate/examples/pagination.sass +0 -91
  1035. data/vendor/plugins/will_paginate/init.rb +0 -1
  1036. data/vendor/plugins/will_paginate/lib/will_paginate.rb +0 -90
  1037. data/vendor/plugins/will_paginate/lib/will_paginate/array.rb +0 -16
  1038. data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +0 -146
  1039. data/vendor/plugins/will_paginate/lib/will_paginate/core_ext.rb +0 -43
  1040. data/vendor/plugins/will_paginate/lib/will_paginate/finder.rb +0 -264
  1041. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope.rb +0 -170
  1042. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope_patch.rb +0 -37
  1043. data/vendor/plugins/will_paginate/lib/will_paginate/version.rb +0 -9
  1044. data/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb +0 -408
  1045. data/vendor/plugins/will_paginate/test/boot.rb +0 -21
  1046. data/vendor/plugins/will_paginate/test/collection_test.rb +0 -143
  1047. data/vendor/plugins/will_paginate/test/console +0 -8
  1048. data/vendor/plugins/will_paginate/test/database.yml +0 -22
  1049. data/vendor/plugins/will_paginate/test/finder_test.rb +0 -473
  1050. data/vendor/plugins/will_paginate/test/fixtures/admin.rb +0 -3
  1051. data/vendor/plugins/will_paginate/test/fixtures/developer.rb +0 -14
  1052. data/vendor/plugins/will_paginate/test/fixtures/developers_projects.yml +0 -13
  1053. data/vendor/plugins/will_paginate/test/fixtures/project.rb +0 -15
  1054. data/vendor/plugins/will_paginate/test/fixtures/projects.yml +0 -6
  1055. data/vendor/plugins/will_paginate/test/fixtures/replies.yml +0 -29
  1056. data/vendor/plugins/will_paginate/test/fixtures/reply.rb +0 -7
  1057. data/vendor/plugins/will_paginate/test/fixtures/schema.rb +0 -38
  1058. data/vendor/plugins/will_paginate/test/fixtures/topic.rb +0 -10
  1059. data/vendor/plugins/will_paginate/test/fixtures/topics.yml +0 -30
  1060. data/vendor/plugins/will_paginate/test/fixtures/user.rb +0 -2
  1061. data/vendor/plugins/will_paginate/test/fixtures/users.yml +0 -35
  1062. data/vendor/plugins/will_paginate/test/helper.rb +0 -37
  1063. data/vendor/plugins/will_paginate/test/lib/activerecord_test_case.rb +0 -43
  1064. data/vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb +0 -75
  1065. data/vendor/plugins/will_paginate/test/lib/load_fixtures.rb +0 -11
  1066. data/vendor/plugins/will_paginate/test/lib/view_test_process.rb +0 -179
  1067. data/vendor/plugins/will_paginate/test/tasks.rake +0 -59
  1068. data/vendor/plugins/will_paginate/test/view_test.rb +0 -373
  1069. data/vendor/plugins/will_paginate/will_paginate.gemspec +0 -19
@@ -0,0 +1,3 @@
1
+ require 'rubygems'
2
+ require 'active_support'
3
+ require 'active_support/test_case'
@@ -11,6 +11,35 @@ class Admin::PageDialogsController < Admin::DialogsController
11
11
  :per_page => Page.per_page(dialog=true)
12
12
 
13
13
  @resources = Resource.paginate :page => params[:resource_page], :order => 'created_at DESC', :per_page => Resource.per_page(dialog=true)
14
+
15
+ # web address link
16
+ @web_address_text = "http://"
17
+ @web_address_text = params[:current_link] if params[:current_link].present? and params[:current_link] =~ /^http:\/\//
18
+ @web_address_target_blank = (params[:target_blank] == "true")
19
+
20
+ # mailto link
21
+ if params[:current_link].present?
22
+ if params[:current_link] =~ /^mailto:/
23
+ @email_address_text = params[:current_link].split("mailto:")[1].split('?')[0]
24
+ end
25
+ @email_default_subject_text = params[:current_link].split('?subject=')[1] || params[:subject]
26
+ @email_default_body_text = params[:current_link].split('?body=')[1] || params[:body]
27
+ end
28
+
29
+ # resource link
30
+ if params[:current_link].present?
31
+ is_resource_link = params[:current_link].include?("/system/resources")
32
+ end
33
+
34
+ if params[:paginating].present?
35
+ @page_area_selected = (params[:paginating] == "your_page")
36
+ @resource_area_selected = (params[:paginating] == "resource_file")
37
+ else
38
+ @page_area_selected = (!is_resource_link and @web_address_text == "http://" and @email_address_text.blank?)
39
+ @web_address_area_selected = (@web_address_text != "http://")
40
+ @email_address_area_selected = @email_address_text.present?
41
+ @resource_area_selected = is_resource_link
42
+ end
14
43
  end
15
44
 
16
45
  def test_url
@@ -10,7 +10,9 @@ class Admin::PagePartsController < Admin::BaseController
10
10
 
11
11
  def destroy
12
12
  part = PagePart.find(params[:id])
13
+ page = part.page
13
14
  if part.destroy
15
+ page.reposition_parts!
14
16
  render :text => "'#{part.title}' deleted."
15
17
  else
16
18
  render :text => "'#{part.title}' not deleted."
@@ -1,19 +1,36 @@
1
1
  class Admin::PagesController < Admin::BaseController
2
2
 
3
- crudify :page, :conditions => "parent_id IS NULL", :order => "position ASC", :include => [:parts, :slugs, :children], :paging => false
3
+ crudify :page,
4
+ :conditions => "parent_id IS NULL",
5
+ :order => "position ASC",
6
+ :include => [:parts, :slugs, :children],
7
+ :paging => false
8
+
4
9
  before_filter :find_pages_for_parents_list, :only => [:new, :create, :edit, :update]
5
- after_filter :expire_menu_fragment_caching, :only => [:create, :update, :destroy, :update_positions]
10
+ after_filter :expire_caching, :only => [:create, :update, :destroy, :update_positions]
11
+
12
+ rescue_from FriendlyId::ReservedError, :with => :show_errors_for_reserved_slug
6
13
 
7
14
  def new
8
15
  @page = Page.new
9
- RefinerySetting.find_or_set(:default_page_parts, ["Body", "Side Body"]).each do |page_part|
10
- @page.parts << PagePart.new(:title => page_part)
16
+ RefinerySetting.find_or_set(:default_page_parts, ["Body", "Side Body"]).each_with_index do |page_part, index|
17
+ @page.parts << PagePart.new(:title => page_part, :position => index)
11
18
  end
12
19
  end
13
20
 
14
21
  protected
22
+ def expire_caching
23
+ expire_menu_fragment_caching
24
+ expire_action_caching
25
+ end
26
+
15
27
  def expire_menu_fragment_caching
16
- expire_fragment(%r{#{RefinerySetting.find_or_set(:refinery_menu_cache_action_suffix, "site_menu")}})
28
+ Rails.cache.delete("#{Refinery.base_cache_key}_menu_pages")
29
+ expire_fragment %r{#{RefinerySetting.find_or_set(:refinery_menu_cache_action_suffix, "site_menu")}}
30
+ end
31
+
32
+ def expire_action_caching
33
+ expire_fragment %r{.*/pages/.*}
17
34
  end
18
35
 
19
36
  # This finds all of the pages that could possibly be assigned as the current page's parent.
@@ -24,12 +41,11 @@ protected
24
41
  @pages_for_parents_list += add_pages_branch_to_parents_list(page)
25
42
  end
26
43
  @pages_for_parents_list.flatten.compact!
44
+
27
45
  # We need to remove all references to the current page or any of its decendants or we get a nightmare.
28
- unless @page.nil? or @page.new_record?
29
- @pages_for_parents_list.reject! do |page|
30
- page.id == @page.id or @page.descendants.include?(page)
31
- end
32
- end
46
+ @pages_for_parents_list.reject! do |page|
47
+ page.id == @page.id or @page.descendants.include?(page)
48
+ end unless @page.nil? or @page.new_record?
33
49
  end
34
50
 
35
51
  def add_pages_branch_to_parents_list(page)
@@ -41,4 +57,15 @@ protected
41
57
  list
42
58
  end
43
59
 
60
+ def show_errors_for_reserved_slug(exception)
61
+ flash[:error] = "Sorry, but that title is a reserved system word."
62
+ if params[:action] == 'update'
63
+ find_page
64
+ render :edit
65
+ else
66
+ @page = Page.new(params[:page])
67
+ render :new
68
+ end
69
+ end
70
+
44
71
  end
@@ -1,13 +1,35 @@
1
1
  class PagesController < ApplicationController
2
2
 
3
+ caches_action :home, :show,
4
+ :cache_path => Proc.new { |c| "#{c.request.host_with_port}/views/pages/#{c.params[:path]}" },
5
+ :if => Proc.new { |c|
6
+ c.send(:logged_in?) == false and
7
+ (!RefinerySetting.table_exists? ||
8
+ RefinerySetting.find_or_set(:page_caching_enabled, true, :scoping => 'pages'))
9
+ }
10
+
3
11
  def home
4
12
  error_404 unless (@page = Page.find_by_link_url("/", :include => [:parts, :slugs])).present?
5
13
  end
6
14
 
15
+ # This action can be accessed normally, or as nested pages.
16
+ # Assuming a page named "mission" that is a child of "about",
17
+ # you can access the pages with the following URLs:
18
+ #
19
+ # GET /pages/about
20
+ # GET /about
21
+ #
22
+ # GET /pages/mission
23
+ # GET /about/mission
24
+ #
7
25
  def show
8
- @page = Page.find(params[:id], :include => [:parts, :slugs])
26
+ @page = if params[:path]
27
+ Page.find(params[:path].last, :include => [:parts, :slugs])
28
+ else
29
+ Page.find(params[:id], :include => [:parts, :slugs])
30
+ end
9
31
 
10
- if @page.live? or (logged_in? and current_user.authorized_plugins.include?("Pages"))
32
+ if @page.try(:live?) or (logged_in? and current_user.authorized_plugins.include?("Pages"))
11
33
  # if the admin wants this to be a "placeholder" page which goes to its first child, go to that instead.
12
34
  if @page.skip_to_first_child
13
35
  first_live_child = @page.children.find_by_draft(false, :order => "position ASC")
@@ -1,20 +1,22 @@
1
1
  class Page < ActiveRecord::Base
2
-
3
2
  validates_presence_of :title
4
3
 
5
4
  acts_as_tree :order => "position ASC", :include => [:children, :slugs]
6
5
 
7
6
  # Docs for friendly_id http://github.com/norman/friendly_id
8
- has_friendly_id :title, :use_slug => true
7
+ has_friendly_id :title, :use_slug => true,
8
+ :reserved_words => %w(index new session login logout users refinery admin images wymiframe)
9
9
 
10
- has_many :parts, :class_name => "PagePart", :order => "position ASC"
10
+ has_many :parts, :class_name => "PagePart", :order => "position ASC", :inverse_of => :page
11
11
  accepts_nested_attributes_for :parts, :allow_destroy => true
12
12
 
13
13
  # Docs for acts_as_indexed http://github.com/dougal/acts_as_indexed
14
- acts_as_indexed :fields => [:title, :meta_keywords, :meta_description, :custom_title, :browser_title, :all_page_part_content],
15
- :index_file => [Rails.root.to_s, "tmp", "index"]
14
+ acts_as_indexed :fields => [:title, :meta_keywords, :meta_description, :custom_title, :browser_title, :all_page_part_content]
16
15
 
17
16
  before_destroy :deletable?
17
+ after_save :reposition_parts!
18
+
19
+ after_save :invalidate_child_cached_url
18
20
 
19
21
  # when a dialog pops up to link to a page, how many pages per page should there be
20
22
  PAGES_PER_DIALOG = 14
@@ -32,6 +34,14 @@ class Page < ActiveRecord::Base
32
34
  self.deletable && self.link_url.blank? and self.menu_match.blank?
33
35
  end
34
36
 
37
+ # Repositions the child page_parts that belong to this page.
38
+ # This ensures that they are in the correct 0,1,2,3,4... etc order.
39
+ def reposition_parts!
40
+ self.parts.each_with_index do |part, index|
41
+ part.update_attribute(:position, index)
42
+ end
43
+ end
44
+
35
45
  # Before destroying a page we check to see if it's a deletable page or not
36
46
  # Refinery system pages are not deletable.
37
47
  def destroy
@@ -52,11 +62,10 @@ class Page < ActiveRecord::Base
52
62
 
53
63
  # If you want to destroy a page that is set to be not deletable this is the way to do it.
54
64
  def destroy!
55
- self.update_attributes({
56
- :menu_match => nil,
57
- :link_url => nil,
58
- :deletable => true
59
- })
65
+ self.menu_match = nil
66
+ self.link_url = nil
67
+ self.deletable = true
68
+
60
69
  self.destroy
61
70
  end
62
71
 
@@ -80,17 +89,59 @@ class Page < ActiveRecord::Base
80
89
  # If a custom "link_url" is set, it uses that otherwise it defaults to a normal page URL.
81
90
  # The "link_url" is often used to link to a plugin rather than a page.
82
91
  #
83
- # For example if I had a "Contact Us" page I don't want it to just render a contact us page
92
+ # For example if I had a "Contact" page I don't want it to just render a contact us page
84
93
  # I want it to show the Inquiries form so I can collect inquiries. So I would set the "link_url"
85
- # to "/inquiries/new"
94
+ # to "/contact"
86
95
  def url
87
96
  if self.link_url.present?
88
97
  self.link_url =~ /^\// ? {:controller => self.link_url} : self.link_url
98
+ elsif use_marketable_urls?
99
+ url_marketable
89
100
  elsif self.to_param.present?
90
- {:controller => "/pages", :action => "show", :id => self.to_param}
101
+ url_normal
91
102
  end
92
103
  end
93
104
 
105
+ def url_marketable
106
+ {:controller => "/pages", :action => "show", :path => self.nested_url}
107
+ end
108
+
109
+ def url_normal
110
+ {:controller => "/pages", :action => "show", :id => self.to_param}
111
+ end
112
+
113
+ # Returns an array with all ancestors to_param, allow with its own
114
+ # Ex: with an About page and a Mission underneath,
115
+ # Page.find('mission').nested_url would return:
116
+ #
117
+ # ['about', 'mission']
118
+ #
119
+ def nested_url
120
+ Rails.cache.fetch(url_cache_key) { uncached_nested_url }
121
+ end
122
+
123
+ def uncached_nested_url
124
+ self.parent ? [parent.nested_url, self.to_param].flatten : [self.to_param]
125
+ end
126
+
127
+ # Returns the string version of nested_url, i.e., the path that should be generated
128
+ # by the router
129
+ def nested_path
130
+ @nested_path ||= "/#{nested_url.join('/')}"
131
+ end
132
+
133
+ def url_cache_key
134
+ "#{cache_key}#nested_url"
135
+ end
136
+
137
+ def cache_key
138
+ "#{Refinery.base_cache_key}/#{super}"
139
+ end
140
+
141
+ def use_marketable_urls?
142
+ RefinerySetting.find_or_set(:use_marketable_urls, true, :scoping => 'pages')
143
+ end
144
+
94
145
  # Returns true if this page is "published"
95
146
  def live?
96
147
  not self.draft?
@@ -100,7 +151,7 @@ class Page < ActiveRecord::Base
100
151
  # If it's a draft or is set to not show in the menu it will return false.
101
152
  # If any of the page's ancestors aren't to be shown in the menu then this page is not either.
102
153
  def in_menu?
103
- self.live? && self.show_in_menu? && !self.ancestors.any? { |a| !a.in_menu? }
154
+ self.live? && self.show_in_menu? && self.ancestors.all? { |a| a.in_menu? }
104
155
  end
105
156
 
106
157
  # Returns true if this page is the home page or links to it.
@@ -118,7 +169,10 @@ class Page < ActiveRecord::Base
118
169
  include_associations = [:parts]
119
170
  include_associations.push(:slugs) if self.class.methods.include? "find_one_with_friendly"
120
171
  include_associations.push(:children) if include_children
121
- find_all_by_parent_id(nil,:conditions => {:show_in_menu => true, :draft => false}, :order => "position ASC", :include => include_associations)
172
+ find_all_by_parent_id(nil,
173
+ :conditions => {:show_in_menu => true, :draft => false},
174
+ :order => "position ASC",
175
+ :include => include_associations)
122
176
  end
123
177
 
124
178
  # Accessor method to get a page part from a page.
@@ -159,4 +213,25 @@ class Page < ActiveRecord::Base
159
213
  dialog ? PAGES_PER_DIALOG : PAGES_PER_ADMIN_INDEX
160
214
  end
161
215
 
216
+ ##
217
+ # Protects generated slugs from title if they are in the list of reserved words
218
+ # This applies mostly to plugin-generated pages.
219
+ #
220
+ # Returns the sluggified string
221
+ def normalize_friendly_id(slug_string)
222
+ sluggified = super
223
+ if use_marketable_urls? && self.class.friendly_id_config.reserved_words.include?(sluggified)
224
+ sluggified += "-page"
225
+ end
226
+ sluggified
227
+ end
228
+
229
+ private
230
+
231
+ def invalidate_child_cached_url
232
+ return true unless use_marketable_urls?
233
+ children.each do |child|
234
+ Rails.cache.delete(child.url_cache_key)
235
+ end
236
+ end
162
237
  end
@@ -6,7 +6,7 @@ class PagePart < ActiveRecord::Base
6
6
  alias_attribute :content, :body
7
7
 
8
8
  def to_param
9
- "page_part_#{self.title.downcase.gsub(" ", "_")}"
9
+ "page_part_#{self.title.downcase.gsub(/\W/, '_')}"
10
10
  end
11
11
 
12
12
  before_save :normalise_text_fields
@@ -1,5 +1,5 @@
1
1
  <% linked = (url_for(page_link.url) == params[:current_link]) if params[:current_link].present? %>
2
2
  <li class='clearfix<%= " child#{child}" if child %><%= " linked" if linked%>' id="<%= dom_id(page_link) -%>">
3
- <%= link_to page_link.title_with_meta, page_link.url, :title => 'Link to this Page', :rel => page_link.title, :class => 'page_link' %>
3
+ <%= link_to page_link.title_with_meta, page_link.url, :title => t('.link_to_this_page'), :rel => page_link.title, :class => 'page_link' %>
4
4
  </li>
5
5
  <%= render :partial => 'page_link', :collection => page_link.children, :locals => {:child => child ? (child+1) : 1} if page_link.children.any? %>
@@ -1,56 +1,26 @@
1
- <%
2
- # web address link
3
- web_address_text = "http://"
4
- web_address_text = params[:current_link] if params[:current_link].present? and params[:current_link] =~ /^http:\/\//
5
- web_address_target_blank = (params[:target_blank] == "true")
6
-
7
- # mailto link
8
- if params[:current_link].present?
9
- if params[:current_link] =~ /^mailto:/
10
- email_address_text = params[:current_link].split("mailto:")[1].split('?')[0]
11
- end
12
- email_default_subject_text = params[:current_link].split('?subject=')[1] || params[:subject]
13
- email_default_body_text = params[:current_link].split('?body=')[1] || params[:body]
14
- end
15
-
16
- # resource link
17
- if params[:current_link].present?
18
- is_resource_link = params[:current_link].include?("/system/resources")
19
- end
20
-
21
- if params[:paginating].present?
22
- page_area_selected = (params[:paginating] == "your_page")
23
- resource_area_selected = (params[:paginating] == "resource_file")
24
- else
25
- page_area_selected = (!is_resource_link and web_address_text == "http://" and email_address_text.blank?)
26
- web_address_area_selected = (web_address_text != "http://")
27
- email_address_area_selected = !email_address_text.blank?
28
- resource_area_selected = is_resource_link
29
- end
30
- %>
31
1
  <div class='clearfix dialog_link_to'>
32
2
  <div id='dialog_menu_left'>
33
- <span id='your_page_radio' class='radio<%= " selected_radio" if page_area_selected %>'>
34
- <input type='radio' name='link_to' value='your_page' id='link_to_your_page' <%= "checked='true'" if page_area_selected %> />
35
- <label for='link_to_your_page' class='stripped'>Your page</label>
3
+ <span id='your_page_radio' class='radio<%= " selected_radio" if @page_area_selected %>'>
4
+ <input type='radio' name='link_to' value='your_page' id='link_to_your_page' <%= "checked='true'" if @page_area_selected %> />
5
+ <label for='link_to_your_page' class='stripped'><%= t('.your_page.tab_name') %></label>
36
6
  </span>
37
- <span id='web_address_radio' class='radio<%= " selected_radio" if web_address_area_selected %>'>
38
- <input type='radio' name='link_to' value='web_address' id='link_to_web_address' <%= "checked='true'" if web_address_area_selected %> />
39
- <label for='link_to_web_address' class='stripped'>Web address</label>
7
+ <span id='web_address_radio' class='radio<%= " selected_radio" if @web_address_area_selected %>'>
8
+ <input type='radio' name='link_to' value='web_address' id='link_to_web_address' <%= "checked='true'" if @web_address_area_selected %> />
9
+ <label for='link_to_web_address' class='stripped'><%= t('.web_address.tab_name') %></label>
40
10
  </span>
41
11
 
42
- <span id='email_address_radio' class='radio<%= " selected_radio" if email_address_area_selected %>'>
43
- <input type='radio' name='link_to' value='email_address' id='link_to_email_address' <%= "checked='true'" if email_address_area_selected %> />
44
- <label for='link_to_email_address' class='stripped'>Email address</label>
12
+ <span id='email_address_radio' class='radio<%= " selected_radio" if @email_address_area_selected %>'>
13
+ <input type='radio' name='link_to' value='email_address' id='link_to_email_address' <%= "checked='true'" if @email_address_area_selected %> />
14
+ <label for='link_to_email_address' class='stripped'><%= t('.email_address.tab_name') %></label>
45
15
  </span>
46
- <span id="resource_file_radio" class="radio<%= " selected_radio" if resource_area_selected %>">
47
- <input type="radio" name="link_to" value="resource_file" id="link_to_resource_file" <%= "checked='true'" if resource_area_selected %> />
48
- <label for="link_to_resource_file" class="stripped">Your resource</label>
16
+ <span id="resource_file_radio" class="radio<%= " selected_radio" if @resource_area_selected %>">
17
+ <input type="radio" name="link_to" value="resource_file" id="link_to_resource_file" <%= "checked='true'" if @resource_area_selected %> />
18
+ <label for="link_to_resource_file" class="stripped"><%= t('.your_resource.tab_name') %></label>
49
19
  </span>
50
20
  </div>
51
21
 
52
22
  <div id='dialog_main'>
53
- <div id='your_page_area' class='dialog_area' <%= "style='display: none'" unless page_area_selected %>>
23
+ <div id='your_page_area' class='dialog_area' <%= "style='display: none'" unless @page_area_selected %>>
54
24
  <input type='hidden' name='selected_image' id='selected_image' />
55
25
  <div id='your_page_content' class='clearfix'>
56
26
  <div id='pages_list'>
@@ -59,82 +29,97 @@
59
29
  </ul>
60
30
  </div>
61
31
  </div>
62
- <%= will_paginate @pages, :param_name => :page, :previous_label => '&laquo; Previous', :next_label => 'Next &raquo;',
63
- :renderer => Refinery::LinkRenderer, :url => {:paginating => "your_page"} %>
32
+ <%= will_paginate @pages,
33
+ :param_name => :page,
34
+ :previous_label => '&laquo; Previous',
35
+ :next_label => 'Next &raquo;',
36
+ :renderer => Refinery::LinkRenderer,
37
+ :url => {:paginating => "your_page"} %>
64
38
  </div>
65
- <div id='web_address_area' <%= "style='display: none'" unless web_address_area_selected %> class='dialog_area'>
39
+ <div id='web_address_area' <%= "style='display: none'" unless @web_address_area_selected %> class='dialog_area'>
66
40
  <div id='web_address_content'>
67
- <label for='web_address_text'>Location</label>
68
- <%= text_field :web_address, :text, :value => web_address_text, :style => "width: 70%" %>
41
+ <label for='web_address_text'><%= t('.web_address.location') %></label>
42
+ <%= text_field :web_address, :text, :value => @web_address_text, :style => "width: 70%" %>
69
43
  <img id='web_address_test_loader' src='/images/refinery/ajax-loader.gif' alt='Testing...' style='display: none;'/>
70
44
  <span id='web_address_test_result'></span>
71
45
 
72
- <label>New Window</label>
73
- <input type='checkbox' name='web_address_target_blank' id='web_address_target_blank' <%= "checked='checked'" if web_address_target_blank %> />
74
- <label for='web_address_target_blank' class='stripped'>Check this box to have the link open in a new browser window.</label>
46
+ <label><%=t('.web_address.new_window') %></label>
47
+ <input type='checkbox' name='web_address_target_blank' id='web_address_target_blank' <%= "checked='checked'" if @web_address_target_blank %> />
48
+ <label for='web_address_target_blank' class='stripped'><%=t('.web_address.new_window_label') %></label>
75
49
  <p>
76
- <strong>Not sure what to put in the box above?</strong>
50
+ <strong><%=t('.web_address.not_sure')%></strong>
77
51
  </p>
78
52
  <ol>
79
- <li>Find the page on the web you want to link to.</li>
80
- <li>Copy the web address from your browser's address bar and paste it into the box above.</li>
53
+ <li><%=t('.web_address.step1')%></li>
54
+ <li><%=t('.web_address.step2')%></li>
81
55
  </ol>
82
56
  </div>
83
57
  </div>
84
- <div id='email_address_area' <%= "style='display: none'" unless email_address_area_selected %> class='dialog_area'>
58
+ <div id='email_address_area' <%= "style='display: none'" unless @email_address_area_selected %> class='dialog_area'>
85
59
  <div id='email_address_content'>
86
60
  <div class='field'>
87
- <label for='email_address_text'>Email Address</label>
88
- <%= text_field :email_address, :text, :value => email_address_text, :style => "width: 70%"%>
61
+ <label for='email_address_text'><%=t('.email_address.tab_name')%></label>
62
+ <%= text_field :email_address, :text, :value => @email_address_text, :style => "width: 70%"%>
89
63
  <img id='email_address_test_loader' src='/images/refinery/ajax-loader.gif' alt='Testing...' style='display: none;'/>
90
64
  <span id='email_address_test_result'></span>
91
65
  </div>
92
66
 
93
67
  <div class='field'>
94
- <label for='email_default_subject_text'>Subject Line (optional)</label>
95
- <%= text_field :email_default_subject, :text, :value => email_default_subject_text, :style => "width: 70%" %>
68
+ <label for='email_default_subject_text'><%=t('.email_address.subject_line_optional')%></label>
69
+ <%= text_field :email_default_subject, :text, :value => @email_default_subject_text, :style => "width: 70%" %>
96
70
  </div>
97
71
 
98
72
  <div class='field'>
99
- <label for='email_default_body_text'>Email Body (optional)</label>
100
- <%= text_area :email_default_body, :text, :value => email_default_body_text, :style => "width: 70%", :rows => '' %>
73
+ <label for='email_default_body_text'><%=t('.email_address.body_optional')%></label>
74
+ <%= text_area :email_default_body, :text, :value => @email_default_body_text, :style => "width: 70%", :rows => '' %>
101
75
  </div>
102
76
 
103
77
  <p>
104
- <strong>Not sure what to put in the boxes above?</strong>
78
+ <strong><%=t('.email_address.not_sure')%></strong>
105
79
  </p>
106
80
  <ol style='margin-top: 3px'>
107
81
  <li>
108
- Write or copy and paste (e.g. from your address book) the email address to link
109
- to into the '<strong>Email Address</strong>' box above.
82
+ <%=t('.email_address.step1')%>
110
83
  </li>
111
84
  <li>
112
- Use the '<strong>Subject Line</strong>' box above if you want the message to
113
- be composed with a <strong>pre-written subject line</strong>
85
+ <%=t('.email_address.step2')%>
114
86
  </li>
115
87
  <li>
116
- Use the <strong>Email Body</strong> box above if you want the message to be
117
- composed with a <strong>pre-written message</strong>.
88
+ <%=t('.email_address.step3')%>
118
89
  </li>
119
90
  </ol>
120
91
  </div>
121
92
  </div>
122
- <div id="resource_file_area" <%= "style='display:none'" unless resource_area_selected %> class="dialog_area">
93
+ <div id="resource_file_area" <%= "style='display:none'" unless @resource_area_selected %> class="dialog_area">
123
94
  <div id='pages_list'>
124
95
  <ul class="link_list">
125
96
  <% @resources.each do |resource| -%>
126
97
  <% resource_linked = (resource.public_filename == params[:current_link]) unless params[:current_link].blank? %>
127
- <li<%= " class='linked'" if resource_linked %>>
128
- <%= link_to resource.title, resource.public_filename, :title => 'Link to this Resource',
129
- :rel => resource.title, :class => 'page_link' %>
98
+ <li<%= " class='linked'" if @resource_linked %>>
99
+ <%= link_to "#{resource.title}.#{resource.filename.split('.')[1]}", resource.public_filename,
100
+ :title => t('.your_resource.link_to_this_resource'),
101
+ :rel => resource.title, :class => "page_link #{resource.filename.split('.')[1]}" %>
130
102
  </li>
131
103
  <% end %>
132
104
  </ul>
133
- <%= will_paginate @resources, :param_name => :resource_page, :previous_label => '&laquo;', :next_label => '&raquo;',
134
- :renderer => Refinery::LinkRenderer, :url => {:paginating => "resource_file"} %>
105
+ <%= will_paginate @resources,
106
+ :param_name => :resource_page,
107
+ :previous_label => '&laquo;',
108
+ :next_label => '&raquo;',
109
+ :renderer => Refinery::LinkRenderer,
110
+ :url => {:paginating => "resource_file"} %>
135
111
  </div>
136
112
  </div>
137
113
  </div>
114
+ <%= render :partial => "/shared/admin/form_actions",
115
+ :locals => {
116
+ :f => nil,
117
+ :cancel_url => '',
118
+ :submit_button_text => 'Insert',
119
+ :hide_cancel => false,
120
+ :cancel_title => '',
121
+ :hide_delete => true
122
+ } %>
138
123
  </div>
139
124
 
140
125
  <% content_for :head do %>