community_engine 2.3.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. checksums.yaml +13 -5
  2. data/.travis.yml +5 -4
  3. data/CHANGELOG +43 -5
  4. data/Gemfile +1 -16
  5. data/README.markdown +22 -19
  6. data/UPGRADING.markdown +10 -0
  7. data/about.yml +1 -1
  8. data/app/assets/javascripts/community_engine.js +187 -18
  9. data/app/assets/javascripts/cropper.js +86 -565
  10. data/app/assets/javascripts/forum.js +26 -71
  11. data/app/assets/javascripts/jquery.migrate.js +521 -0
  12. data/app/assets/stylesheets/_colors.css.scss +100 -0
  13. data/app/assets/stylesheets/_font.css.scss +17 -0
  14. data/app/assets/stylesheets/_forms.css.scss +20 -0
  15. data/app/assets/stylesheets/_forum.css.scss +0 -0
  16. data/app/assets/stylesheets/_grid.css.scss +7 -0
  17. data/app/assets/stylesheets/_layers.css.scss +7 -0
  18. data/app/assets/stylesheets/_layout.css.scss +28 -0
  19. data/app/assets/stylesheets/community_engine.css.scss +18 -0
  20. data/app/assets/stylesheets/cropper.css +6 -182
  21. data/app/controllers/activities_controller.rb +10 -10
  22. data/app/controllers/admin_controller.rb +23 -23
  23. data/app/controllers/ads_controller.rb +16 -5
  24. data/app/controllers/albums_controller.rb +11 -5
  25. data/app/controllers/base_controller.rb +5 -8
  26. data/app/controllers/categories_controller.rb +31 -31
  27. data/app/controllers/clippings_controller.rb +18 -12
  28. data/app/controllers/comments_controller.rb +17 -8
  29. data/app/controllers/events_controller.rb +25 -21
  30. data/app/controllers/favorites_controller.rb +12 -12
  31. data/app/controllers/forums_controller.rb +20 -9
  32. data/app/controllers/friendships_controller.rb +41 -48
  33. data/app/controllers/homepage_features_controller.rb +11 -5
  34. data/app/controllers/invitations_controller.rb +15 -9
  35. data/app/controllers/messages_controller.rb +25 -19
  36. data/app/controllers/metro_areas_controller.rb +9 -3
  37. data/app/controllers/moderators_controller.rb +1 -1
  38. data/app/controllers/monitorships_controller.rb +2 -2
  39. data/app/controllers/pages_controller.rb +16 -4
  40. data/app/controllers/password_resets_controller.rb +0 -1
  41. data/app/controllers/photos_controller.rb +32 -30
  42. data/app/controllers/posts_controller.rb +33 -17
  43. data/app/controllers/rsvps_controller.rb +8 -4
  44. data/app/controllers/sb_posts_controller.rb +22 -18
  45. data/app/controllers/sessions_controller.rb +2 -1
  46. data/app/controllers/sitemap_controller.rb +8 -8
  47. data/app/controllers/statistics_controller.rb +9 -8
  48. data/app/controllers/tags_controller.rb +26 -24
  49. data/app/controllers/topics_controller.rb +10 -6
  50. data/app/controllers/users_controller.rb +63 -34
  51. data/app/helpers/base_helper.rb +119 -29
  52. data/app/helpers/friendships_helper.rb +3 -3
  53. data/app/helpers/posts_helper.rb +5 -7
  54. data/app/models/acts_as_taggable_on/tag.rb +12 -13
  55. data/app/models/ad.rb +2 -5
  56. data/app/models/album.rb +0 -2
  57. data/app/models/category.rb +6 -7
  58. data/app/models/clipping.rb +2 -5
  59. data/app/models/clipping_image.rb +5 -5
  60. data/app/models/comment.rb +4 -5
  61. data/app/models/country.rb +2 -4
  62. data/app/models/event.rb +1 -2
  63. data/app/models/favorite.rb +5 -10
  64. data/app/models/forum.rb +0 -2
  65. data/app/models/friendship.rb +3 -5
  66. data/app/models/friendship_status.rb +0 -2
  67. data/app/models/homepage_feature.rb +4 -6
  68. data/app/models/invitation.rb +6 -8
  69. data/app/models/message.rb +25 -26
  70. data/app/models/message_thread.rb +1 -1
  71. data/app/models/metro_area.rb +0 -2
  72. data/app/models/page.rb +0 -2
  73. data/app/models/photo.rb +8 -8
  74. data/app/models/poll.rb +7 -9
  75. data/app/models/post.rb +11 -15
  76. data/app/models/role.rb +1 -2
  77. data/app/models/rsvp.rb +0 -3
  78. data/app/models/sb_post.rb +14 -9
  79. data/app/models/state.rb +0 -2
  80. data/app/models/topic.rb +5 -6
  81. data/app/models/user.rb +50 -63
  82. data/app/models/vote.rb +1 -1
  83. data/app/views/activities/_activity.html.haml +9 -9
  84. data/app/views/activities/destroy.js.erb +1 -0
  85. data/app/views/activities/index.html.haml +13 -13
  86. data/app/views/activities/network.html.haml +10 -13
  87. data/app/views/admin/comments.html.haml +48 -70
  88. data/app/views/admin/events.html.haml +20 -27
  89. data/app/views/admin/messages.html.haml +2 -3
  90. data/app/views/admin/update.js.erb +1 -0
  91. data/app/views/admin/users.html.haml +51 -66
  92. data/app/views/ads/_form.html.haml +21 -0
  93. data/app/views/ads/edit.html.haml +6 -46
  94. data/app/views/ads/index.html.haml +25 -39
  95. data/app/views/ads/new.html.haml +4 -43
  96. data/app/views/ads/show.html.haml +18 -35
  97. data/app/views/albums/_form.html.haml +17 -12
  98. data/app/views/albums/edit.html.haml +12 -14
  99. data/app/views/albums/new.html.haml +8 -13
  100. data/app/views/albums/show.html.haml +25 -32
  101. data/app/views/base/_homepage_banner_message.html.haml +5 -19
  102. data/app/views/base/advertise.html.haml +5 -8
  103. data/app/views/base/site_index.html.haml +25 -27
  104. data/app/views/categories/_form.html.haml +8 -0
  105. data/app/views/categories/_menu_item.html.haml +13 -0
  106. data/app/views/categories/_tips.html.haml +2 -2
  107. data/app/views/categories/edit.html.haml +3 -33
  108. data/app/views/categories/index.html.haml +18 -28
  109. data/app/views/categories/new.html.haml +3 -8
  110. data/app/views/categories/show.html.haml +33 -36
  111. data/app/views/clippings/_clipping.html.haml +10 -17
  112. data/app/views/clippings/_favorite.html.haml +14 -0
  113. data/app/views/clippings/_form.html.haml +15 -0
  114. data/app/views/clippings/_images.html.haml +1 -1
  115. data/app/views/clippings/_menu_item.html.haml +6 -0
  116. data/app/views/clippings/edit.html.haml +12 -23
  117. data/app/views/clippings/index.html.haml +29 -30
  118. data/app/views/clippings/load_images_from_uri.js.erb +1 -0
  119. data/app/views/clippings/new.html.haml +9 -26
  120. data/app/views/clippings/new_clipping.html.haml +30 -77
  121. data/app/views/clippings/show.html.haml +48 -53
  122. data/app/views/clippings/site_index.html.haml +19 -32
  123. data/app/views/comments/_comment.html.haml +40 -40
  124. data/app/views/comments/_comment_form.html.haml +22 -46
  125. data/app/views/comments/_edit_form.html.haml +13 -28
  126. data/app/views/comments/create.js.erb +25 -0
  127. data/app/views/comments/destroy.js.erb +3 -0
  128. data/app/views/comments/edit.js.erb +11 -0
  129. data/app/views/comments/index.html.haml +12 -22
  130. data/app/views/comments/update.js.erb +14 -0
  131. data/app/views/events/_event.html.haml +26 -24
  132. data/app/views/events/_form.html.haml +18 -0
  133. data/app/views/events/_menu_item.html.haml +6 -0
  134. data/app/views/events/_subscribe.html.haml +1 -1
  135. data/app/views/events/edit.html.haml +7 -32
  136. data/app/views/events/index.html.haml +11 -19
  137. data/app/views/events/new.html.haml +2 -31
  138. data/app/views/events/show.html.haml +54 -24
  139. data/app/views/favorites/create.js.erb +10 -0
  140. data/app/views/favorites/destroy.js.erb +6 -0
  141. data/app/views/favorites/index.html.haml +6 -8
  142. data/app/views/forums/_form.html.haml +10 -20
  143. data/app/views/forums/_menu_item.html.haml +6 -0
  144. data/app/views/forums/edit.html.haml +8 -10
  145. data/app/views/forums/index.html.haml +56 -64
  146. data/app/views/forums/new.html.haml +5 -8
  147. data/app/views/forums/show.html.haml +65 -72
  148. data/app/views/friendships/_friendship.html.haml +14 -16
  149. data/app/views/friendships/accepted.html.haml +7 -11
  150. data/app/views/friendships/create.js.haml +1 -0
  151. data/app/views/friendships/denied.html.haml +4 -8
  152. data/app/views/friendships/pending.html.haml +4 -6
  153. data/app/views/friendships/show.html.haml +10 -11
  154. data/app/views/homepage_features/_form.html.haml +6 -0
  155. data/app/views/homepage_features/edit.html.haml +5 -30
  156. data/app/views/homepage_features/index.html.haml +22 -28
  157. data/app/views/homepage_features/new.html.haml +2 -30
  158. data/app/views/homepage_features/show.html.haml +27 -29
  159. data/app/views/invitations/index.html.haml +8 -0
  160. data/app/views/invitations/new.html.haml +21 -30
  161. data/app/views/kaminari/bootstrap/_first_page.html.erb +13 -0
  162. data/app/views/kaminari/bootstrap/_gap.html.erb +8 -0
  163. data/app/views/kaminari/bootstrap/_last_page.html.erb +13 -0
  164. data/app/views/kaminari/bootstrap/_next_page.html.erb +13 -0
  165. data/app/views/kaminari/bootstrap/_page.html.erb +12 -0
  166. data/app/views/kaminari/bootstrap/_paginator.html.erb +25 -0
  167. data/app/views/kaminari/bootstrap/_prev_page.html.erb +13 -0
  168. data/app/views/layouts/application.html.haml +26 -37
  169. data/app/views/messages/_form.html.haml +6 -12
  170. data/app/views/messages/_inbox.html.haml +34 -39
  171. data/app/views/messages/_menu_item.html.haml +11 -0
  172. data/app/views/messages/_sent.html.haml +22 -33
  173. data/app/views/messages/_sidebar_nav.html.haml +12 -9
  174. data/app/views/messages/index.html.haml +2 -2
  175. data/app/views/messages/new.html.haml +2 -9
  176. data/app/views/messages/show.html.haml +28 -36
  177. data/app/views/metro_areas/_form.html.haml +6 -0
  178. data/app/views/metro_areas/edit.html.haml +6 -14
  179. data/app/views/metro_areas/index.html.haml +19 -26
  180. data/app/views/metro_areas/new.html.haml +4 -14
  181. data/app/views/metro_areas/show.html.haml +13 -21
  182. data/app/views/moderators/_toggle.html.haml +6 -0
  183. data/app/views/moderators/create.js.erb +5 -0
  184. data/app/views/moderators/destroy.js.erb +1 -0
  185. data/app/views/monitorships/create.js.erb +1 -0
  186. data/app/views/monitorships/destroy.js.erb +1 -0
  187. data/app/views/pages/_form.html.haml +16 -23
  188. data/app/views/pages/edit.html.haml +2 -14
  189. data/app/views/pages/index.html.haml +32 -32
  190. data/app/views/pages/new.html.haml +5 -12
  191. data/app/views/pages/show.html.haml +4 -8
  192. data/app/views/password_resets/edit.html.haml +6 -14
  193. data/app/views/password_resets/new.html.haml +7 -11
  194. data/app/views/photo_manager/index.html.haml +45 -43
  195. data/app/views/photos/_form.html.haml +24 -0
  196. data/app/views/photos/_manage_photos.html.haml +14 -6
  197. data/app/views/photos/_show_image_list.html.haml +2 -2
  198. data/app/views/photos/create.js.erb +1 -0
  199. data/app/views/photos/edit.html.haml +10 -38
  200. data/app/views/photos/index.html.haml +20 -20
  201. data/app/views/photos/manage_photos.js.erb +5 -0
  202. data/app/views/photos/new.html.haml +11 -49
  203. data/app/views/photos/recent.html.haml +6 -6
  204. data/app/views/photos/show.html.haml +48 -52
  205. data/app/views/polls/_edit.html.haml +6 -10
  206. data/app/views/polls/_excerpt.html.haml +3 -4
  207. data/app/views/polls/_new.html.haml +10 -9
  208. data/app/views/polls/_poll_ui.html.haml +30 -34
  209. data/app/views/posts/_author_profile.html.haml +12 -11
  210. data/app/views/posts/_favorited_post.html.haml +8 -10
  211. data/app/views/posts/_form.html.haml +40 -0
  212. data/app/views/posts/_menu_item.html.haml +6 -0
  213. data/app/views/posts/_post.html.haml +27 -24
  214. data/app/views/posts/_send_to_friend.html.haml +26 -0
  215. data/app/views/posts/edit.html.haml +11 -48
  216. data/app/views/posts/featured.html.haml +7 -12
  217. data/app/views/posts/index.html.haml +14 -18
  218. data/app/views/posts/manage.html.haml +44 -59
  219. data/app/views/posts/new.html.haml +9 -64
  220. data/app/views/posts/popular.html.haml +25 -30
  221. data/app/views/posts/preview.html.haml +27 -26
  222. data/app/views/posts/recent.html.haml +20 -27
  223. data/app/views/posts/send_to_friend.js.erb +3 -0
  224. data/app/views/posts/show.html.haml +67 -76
  225. data/app/views/rsvps/_form.html.haml +3 -0
  226. data/app/views/rsvps/edit.html.haml +3 -9
  227. data/app/views/rsvps/new.html.haml +3 -9
  228. data/app/views/sb_posts/_dummy_forum_post.html.haml +13 -0
  229. data/app/views/sb_posts/_edit.html.haml +6 -0
  230. data/app/views/sb_posts/_edit_script.js.erb +14 -0
  231. data/app/views/sb_posts/_reply_form.html.haml +14 -35
  232. data/app/views/sb_posts/_reply_script.js.erb +13 -0
  233. data/app/views/sb_posts/_sb_post.html.haml +31 -33
  234. data/app/views/sb_posts/create.js.erb +30 -0
  235. data/app/views/sb_posts/destroy.js.erb +2 -0
  236. data/app/views/sb_posts/edit.html.erb +4 -4
  237. data/app/views/sb_posts/edit.js.erb +14 -0
  238. data/app/views/sb_posts/index.html.haml +3 -16
  239. data/app/views/sb_posts/monitored.html.erb +3 -9
  240. data/app/views/sb_posts/update.js.erb +11 -0
  241. data/app/views/sessions/_menu_item.html.haml +28 -0
  242. data/app/views/sessions/new.html.haml +19 -24
  243. data/app/views/shared/_add_friend_link.html.haml +9 -0
  244. data/app/views/shared/_admin_nav.html.haml +6 -8
  245. data/app/views/shared/_contact.html.haml +1 -1
  246. data/app/views/shared/_end_javascript.html.haml +4 -4
  247. data/app/views/shared/_explore.html.haml +7 -6
  248. data/app/views/shared/_footer_content.html.haml +12 -10
  249. data/app/views/shared/_footer_links.html.haml +18 -0
  250. data/app/views/shared/_friend_link.html.haml +25 -0
  251. data/app/views/shared/_header.html.haml +22 -42
  252. data/app/views/shared/_jumbotron.html.haml +3 -0
  253. data/app/views/shared/_load_tinymce.js.erb +15 -0
  254. data/app/views/shared/_location_chooser.html.haml +26 -17
  255. data/app/views/shared/_login_sidebar.html.haml +6 -5
  256. data/app/views/shared/_messages.html.haml +6 -8
  257. data/app/views/shared/_scripts_and_styles.html.haml +1 -2
  258. data/app/views/shared/_sidebar.html.haml +1 -0
  259. data/app/views/shared/_tag_auto_complete.html.haml +19 -0
  260. data/app/views/shared/_widget.html.haml +3 -0
  261. data/app/views/sitemap/index.html.haml +15 -20
  262. data/app/views/statistics/index.html.haml +32 -40
  263. data/app/views/tags/edit.html.haml +12 -19
  264. data/app/views/tags/index.html.haml +16 -25
  265. data/app/views/tags/manage.html.haml +24 -33
  266. data/app/views/tags/show.html.haml +52 -58
  267. data/app/views/topics/_form.html.haml +23 -25
  268. data/app/views/topics/_recent_topics_sidebar.haml +1 -1
  269. data/app/views/topics/edit.html.haml +7 -9
  270. data/app/views/topics/new.html.haml +6 -21
  271. data/app/views/topics/show.html.haml +48 -106
  272. data/app/views/user_notifier/follow_up_comment_notice.text.erb +1 -1
  273. data/app/views/user_notifier/message_notification.text.erb +1 -1
  274. data/app/views/user_notifier/new_forum_post_notice.text.erb +1 -1
  275. data/app/views/users/_dashboard_nav.html.haml +36 -39
  276. data/app/views/users/_menu_item.html.haml +6 -0
  277. data/app/views/users/_omniauth_connect.html.haml +4 -4
  278. data/app/views/users/_profile_completeness.html.haml +3 -3
  279. data/app/views/users/_profile_user_info_sidebar.html.haml +40 -43
  280. data/app/views/users/_search_options.html.haml +9 -7
  281. data/app/views/users/_sidebar_user.html.haml +1 -1
  282. data/app/views/users/_user.html.haml +27 -28
  283. data/app/views/users/crop_profile_photo.html.haml +30 -37
  284. data/app/views/users/dashboard.html.haml +37 -41
  285. data/app/views/users/edit.html.haml +53 -71
  286. data/app/views/users/edit_account.html.haml +44 -64
  287. data/app/views/users/forgot_username.html.haml +6 -12
  288. data/app/views/users/index.html.haml +4 -14
  289. data/app/views/users/invite.html.haml +14 -25
  290. data/app/views/users/new.html.haml +27 -48
  291. data/app/views/users/resend_activation.html.haml +7 -12
  292. data/app/views/users/show.html.haml +88 -90
  293. data/app/views/users/signup_completed.html.haml +7 -7
  294. data/app/views/users/statistics.html.haml +17 -18
  295. data/app/views/users/update.js.erb +1 -0
  296. data/app/views/users/upload_profile_photo.html.haml +10 -15
  297. data/app/views/users/welcome_about.html.haml +54 -61
  298. data/app/views/users/welcome_invite.html.haml +16 -25
  299. data/app/views/users/welcome_photo.html.haml +18 -27
  300. data/app/views/votes/create.js.erb +5 -0
  301. data/community_engine.gemspec +49 -41
  302. data/config/application_config.rb +13 -16
  303. data/config/initializers/mce_options.rb +9 -32
  304. data/config/initializers/recaptcha_constants.rb +2 -2
  305. data/config/locales/de-DE.yml +1 -17
  306. data/config/locales/en.yml +18 -32
  307. data/config/locales/es-AR.yml +2 -14
  308. data/config/locales/es-ES.yml +0 -6
  309. data/config/locales/es-MX.yml +1 -9
  310. data/config/locales/fr-FR.yml +3 -17
  311. data/config/locales/ja-JP.yml +2 -18
  312. data/config/locales/ru-RU.yml +3 -21
  313. data/config/locales/sr-CP.yml +0 -4
  314. data/config/locales/sv-SE.yml +3 -20
  315. data/config/routes.rb +37 -42
  316. data/db/migrate/016_add_metro_areas.rb +2 -2
  317. data/db/migrate/039_create_activities_table.rb +2 -2
  318. data/db/migrate/056_create_roles.rb +8 -6
  319. data/db/migrate/069_create_pages.rb +3 -3
  320. data/db/migrate/081_upgrade_to_friendly_id_5x.rb +25 -0
  321. data/db/migrate/082_upgrade_to_acts_as_commentable_4x.rb +29 -0
  322. data/lib/activity_tracker.rb +3 -0
  323. data/{vendor/plugins/activity_tracker/lib → lib/activity_tracker}/activity.rb +6 -6
  324. data/{vendor/plugins/activity_tracker/lib → lib/activity_tracker}/activity_tracker.rb +0 -0
  325. data/{vendor/plugins/acts_as_publishable/init.rb → lib/acts_as_publishable.rb} +1 -1
  326. data/{vendor/plugins/acts_as_publishable/lib → lib/acts_as_publishable}/acts_as_publishable.rb +3 -3
  327. data/lib/community_engine.rb +31 -9
  328. data/lib/community_engine/engine.rb +17 -1
  329. data/lib/community_engine/engines_extensions.rb +1 -3
  330. data/lib/community_engine/version.rb +3 -3
  331. data/{config/initializers → lib/paperclip_processors}/cropper.rb +3 -3
  332. data/lib/resource_feeder.rb +3 -0
  333. data/{vendor/plugins/resource_feeder/lib → lib}/resource_feeder/atom.rb +0 -0
  334. data/{vendor/plugins/resource_feeder/lib → lib}/resource_feeder/rss.rb +0 -0
  335. data/{vendor/plugins/white_list/init.rb → lib/white_list.rb} +1 -1
  336. data/{vendor/plugins/white_list/lib → lib/white_list}/white_list_helper.rb +0 -0
  337. data/test/fixtures/messages.yml +2 -2
  338. data/test/functional/admin_controller_test.rb +11 -11
  339. data/test/functional/ads_controller_test.rb +11 -11
  340. data/test/functional/albums_controller_test.rb +4 -4
  341. data/test/functional/categories_controller_test.rb +4 -4
  342. data/test/functional/clippings_controller_test.rb +4 -4
  343. data/test/functional/comments_controller_test.rb +20 -16
  344. data/test/functional/events_controller_test.rb +6 -6
  345. data/test/functional/forums_controller_test.rb +8 -8
  346. data/test/functional/friendships_controller_test.rb +13 -18
  347. data/test/functional/homepage_features_controller_test.rb +5 -5
  348. data/test/functional/messages_controller_test.rb +6 -2
  349. data/test/functional/metro_areas_controller_test.rb +7 -7
  350. data/test/functional/moderators_controller_test.rb +1 -1
  351. data/test/functional/pages_controller_test.rb +2 -2
  352. data/test/functional/password_reset_controller_test.rb +2 -2
  353. data/test/functional/photos_controller_test.rb +16 -15
  354. data/test/functional/posts_controller_test.rb +4 -4
  355. data/test/functional/rsvps_controller_test.rb +6 -6
  356. data/test/functional/sb_posts_controller_test.rb +53 -50
  357. data/test/functional/sessions_controller_test.rb +4 -1
  358. data/test/functional/tags_controller_test.rb +1 -1
  359. data/test/functional/topics_controller_test.rb +10 -10
  360. data/test/functional/users_controller_test.rb +32 -19
  361. data/test/functional/votes_controller_test.rb +1 -1
  362. data/test/test_helper.rb +3 -1
  363. data/test/testapp/config/application.rb +1 -9
  364. data/test/testapp/config/environments/development.rb +1 -2
  365. data/test/testapp/config/environments/production.rb +2 -0
  366. data/test/testapp/config/environments/test.rb +1 -2
  367. data/test/testapp/config/initializers/omniauth.rb +3 -3
  368. data/test/testapp/config/initializers/secret_token.rb +1 -0
  369. data/test/testapp/db/schema.rb +143 -152
  370. data/test/unit/category_test.rb +2 -2
  371. data/test/unit/comment_test.rb +64 -53
  372. data/test/unit/event_test.rb +4 -4
  373. data/test/unit/forum_test.rb +1 -1
  374. data/test/unit/message_test.rb +7 -1
  375. data/test/unit/page_test.rb +2 -2
  376. data/test/unit/post_test.rb +47 -47
  377. data/test/unit/sb_post_test.rb +24 -20
  378. data/test/unit/topic_test.rb +7 -6
  379. data/test/unit/user_test.rb +75 -52
  380. data/vendor/assets/javascripts/.gitkeep +0 -0
  381. data/vendor/assets/javascripts/jcrop/jquery.Jcrop.js +1699 -0
  382. data/vendor/assets/javascripts/jcrop/jquery.color.js +661 -0
  383. data/vendor/assets/javascripts/tag-it/tag-it.js +597 -0
  384. data/vendor/assets/stylesheets/.gitkeep +0 -0
  385. data/vendor/assets/stylesheets/jcrop/Jcrop.gif +0 -0
  386. data/vendor/assets/stylesheets/jcrop/jquery.Jcrop.min.css +28 -0
  387. data/vendor/assets/stylesheets/tag-it/tag-it.css +69 -0
  388. data/vendor/assets/stylesheets/tag-it/tagit.ui-zendesk.css +107 -0
  389. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/acts_as_publishable/README +0 -0
  390. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/acts_as_publishable/Rakefile +0 -0
  391. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/acts_as_publishable/generators/publishing/publishing_generator.rb +0 -0
  392. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/acts_as_publishable/generators/publishing/templates/migration.rb +0 -0
  393. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/acts_as_publishable/install.rb +0 -0
  394. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/acts_as_publishable/test/acts_as_publishable_test.rb +0 -0
  395. data/vendor/{plugins/activity_tracker → converted2.3plugins_to_lib_leftovers/acts_as_publishable}/uninstall.rb +0 -0
  396. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/resource_feeder/README +0 -0
  397. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/resource_feeder/Rakefile +0 -0
  398. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/resource_feeder/test/atom_feed_test.rb +0 -0
  399. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/resource_feeder/test/rss_feed_test.rb +0 -0
  400. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/resource_feeder/test/test_helper.rb +0 -0
  401. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/white_list/README +0 -0
  402. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/white_list/Rakefile +0 -0
  403. data/vendor/{plugins → converted2.3plugins_to_lib_leftovers}/white_list/test/white_list_test.rb +0 -0
  404. metadata +348 -302
  405. data/app/assets/images/bg_h6btn.gif +0 -0
  406. data/app/assets/images/bg_navbar.gif +0 -0
  407. data/app/assets/images/clearbits/bg_rounded.gif +0 -0
  408. data/app/assets/images/clearbits/comment.gif +0 -0
  409. data/app/assets/images/clearbits/lock.gif +0 -0
  410. data/app/assets/images/clearbits/smile.gif +0 -0
  411. data/app/assets/images/close.gif +0 -0
  412. data/app/assets/images/cropper/marqueeHoriz.gif +0 -0
  413. data/app/assets/images/cropper/marqueeVert.gif +0 -0
  414. data/app/assets/images/feed.png +0 -0
  415. data/app/assets/images/icons/31.png +0 -0
  416. data/app/assets/images/icons/52.png +0 -0
  417. data/app/assets/images/icons/accept.png +0 -0
  418. data/app/assets/images/icons/activity_default.png +0 -0
  419. data/app/assets/images/icons/add.png +0 -0
  420. data/app/assets/images/icons/book.png +0 -0
  421. data/app/assets/images/icons/bullet_arrow_down.png +0 -0
  422. data/app/assets/images/icons/bullet_arrow_down_50.png +0 -0
  423. data/app/assets/images/icons/clipping.png +0 -0
  424. data/app/assets/images/icons/comment.png +0 -0
  425. data/app/assets/images/icons/comments.png +0 -0
  426. data/app/assets/images/icons/date.png +0 -0
  427. data/app/assets/images/icons/delete.png +0 -0
  428. data/app/assets/images/icons/email.png +0 -0
  429. data/app/assets/images/icons/email_edit.png +0 -0
  430. data/app/assets/images/icons/email_go.png +0 -0
  431. data/app/assets/images/icons/email_open.png +0 -0
  432. data/app/assets/images/icons/group_go.png +0 -0
  433. data/app/assets/images/icons/heart.png +0 -0
  434. data/app/assets/images/icons/heart_add.png +0 -0
  435. data/app/assets/images/icons/heart_off.png +0 -0
  436. data/app/assets/images/icons/page_white.png +0 -0
  437. data/app/assets/images/icons/page_white_magnify.png +0 -0
  438. data/app/assets/images/icons/picture.png +0 -0
  439. data/app/assets/images/icons/poll.png +0 -0
  440. data/app/assets/images/icons/post.png +0 -0
  441. data/app/assets/images/icons/printer.png +0 -0
  442. data/app/assets/images/icons/rss.png +0 -0
  443. data/app/assets/images/icons/slides.png +0 -0
  444. data/app/assets/images/icons/tag_blue.png +0 -0
  445. data/app/assets/images/icons/user.png +0 -0
  446. data/app/assets/images/icons/user_add.png +0 -0
  447. data/app/assets/images/icons/user_edit.png +0 -0
  448. data/app/assets/images/icons/user_go.png +0 -0
  449. data/app/assets/images/icons/vote.png +0 -0
  450. data/app/assets/images/icons/world.png +0 -0
  451. data/app/assets/images/icons/wrench.png +0 -0
  452. data/app/assets/images/logo.gif +0 -0
  453. data/app/assets/images/reply_background.png +0 -0
  454. data/app/assets/images/search.gif +0 -0
  455. data/app/assets/images/thumb.gif +0 -0
  456. data/app/assets/javascripts/builder.js +0 -136
  457. data/app/assets/javascripts/calendarview.js +0 -839
  458. data/app/assets/javascripts/lightbox.js +0 -151
  459. data/app/assets/javascripts/prototip-min.js +0 -27
  460. data/app/assets/javascripts/rails.js +0 -202
  461. data/app/assets/javascripts/tinymce/plugins/curblyadvimage/css/advimage.css +0 -84
  462. data/app/assets/javascripts/tinymce/plugins/curblyadvimage/editor_plugin.js +0 -52
  463. data/app/assets/javascripts/tinymce/plugins/curblyadvimage/editor_plugin_src.js +0 -45
  464. data/app/assets/javascripts/tinymce/plugins/curblyadvimage/image.htm +0 -180
  465. data/app/assets/javascripts/tinymce/plugins/curblyadvimage/img/sample.gif +0 -0
  466. data/app/assets/javascripts/tinymce/plugins/curblyadvimage/js/functions.js +0 -508
  467. data/app/assets/javascripts/tinymce/plugins/curblyadvimage/langs/en.js +0 -3
  468. data/app/assets/javascripts/tinymce/plugins/curblyadvimage/langs/en_dlg.js +0 -43
  469. data/app/assets/javascripts/tinymce/plugins/tinyautosave/editor_plugin.js +0 -8
  470. data/app/assets/javascripts/tinymce/plugins/tinyautosave/editor_plugin_src.js +0 -1001
  471. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress.gif +0 -0
  472. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress10.gif +0 -0
  473. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress11.gif +0 -0
  474. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress12.gif +0 -0
  475. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress2.gif +0 -0
  476. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress3.gif +0 -0
  477. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress4.gif +0 -0
  478. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress5.gif +0 -0
  479. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress6.gif +0 -0
  480. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress7.gif +0 -0
  481. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress8.gif +0 -0
  482. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/progress9.gif +0 -0
  483. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/restore.gif +0 -0
  484. data/app/assets/javascripts/tinymce/plugins/tinyautosave/images/restore.png +0 -0
  485. data/app/assets/javascripts/tinymce/plugins/tinyautosave/langs/da.js +0 -5
  486. data/app/assets/javascripts/tinymce/plugins/tinyautosave/langs/en.js +0 -5
  487. data/app/assets/stylesheets/community_engine.css +0 -6
  488. data/app/assets/stylesheets/forum.css +0 -605
  489. data/app/assets/stylesheets/prototip.css +0 -73
  490. data/app/assets/stylesheets/reset-fonts-grids.css +0 -8
  491. data/app/assets/stylesheets/screen.css +0 -977
  492. data/app/helpers/monitorships_helper.rb +0 -2
  493. data/app/views/activities/_icon.html.haml +0 -14
  494. data/app/views/activities/destroy.js.rjs +0 -1
  495. data/app/views/clippings/_meta.html.haml +0 -26
  496. data/app/views/clippings/load_images_from_uri.js.rjs +0 -1
  497. data/app/views/comments/create.js.rjs +0 -20
  498. data/app/views/comments/edit.js.rjs +0 -7
  499. data/app/views/comments/update.js.rjs +0 -9
  500. data/app/views/favorites/create.js.rjs +0 -17
  501. data/app/views/favorites/destroy.js.rjs +0 -14
  502. data/app/views/favorites/show.html.haml +0 -13
  503. data/app/views/friendships/_friendships.html.erb +0 -14
  504. data/app/views/friendships/index.html.erb +0 -3
  505. data/app/views/friendships/index.xml.builder +0 -29
  506. data/app/views/invitations/index.html.erb +0 -16
  507. data/app/views/moderators/_toggle.html.erb +0 -14
  508. data/app/views/moderators/create.js.rjs +0 -5
  509. data/app/views/moderators/destroy.js.rjs +0 -1
  510. data/app/views/monitorships/create.js.rjs +0 -4
  511. data/app/views/monitorships/destroy.js.rjs +0 -4
  512. data/app/views/photos/manage_photos.js.rjs +0 -5
  513. data/app/views/polls/_polls_sidebar.html.haml +0 -8
  514. data/app/views/posts/_send_to_friend.html.erb +0 -29
  515. data/app/views/sb_posts/_dummy_forum_post.html.erb +0 -13
  516. data/app/views/sb_posts/_edit.html.erb +0 -31
  517. data/app/views/sb_posts/create.js.rjs +0 -16
  518. data/app/views/sb_posts/edit.js.rjs +0 -6
  519. data/app/views/sb_posts/update.js.rjs +0 -5
  520. data/app/views/shared/_user_menu.html.haml +0 -21
  521. data/app/views/votes/create.js.rjs +0 -6
  522. data/db/migrate/090_add_comment_role.rb +0 -15
  523. data/vendor/plugins/activity_tracker/README +0 -4
  524. data/vendor/plugins/activity_tracker/Rakefile +0 -22
  525. data/vendor/plugins/activity_tracker/generators/activity_migration/USAGE +0 -13
  526. data/vendor/plugins/activity_tracker/generators/activity_migration/activity_migration_generator.rb +0 -11
  527. data/vendor/plugins/activity_tracker/generators/activity_migration/templates/migration.rb +0 -17
  528. data/vendor/plugins/activity_tracker/init.rb +0 -1
  529. data/vendor/plugins/activity_tracker/install.rb +0 -1
  530. data/vendor/plugins/activity_tracker/tasks/activity_tracker_tasks.rake +0 -4
  531. data/vendor/plugins/activity_tracker/test/abstract_unit.rb +0 -47
  532. data/vendor/plugins/activity_tracker/test/activity_tracker_test.rb +0 -48
  533. data/vendor/plugins/activity_tracker/test/database.yml +0 -18
  534. data/vendor/plugins/activity_tracker/test/debug.log +0 -3329
  535. data/vendor/plugins/activity_tracker/test/fixtures/test_post.rb +0 -5
  536. data/vendor/plugins/activity_tracker/test/fixtures/test_posts.yml +0 -3
  537. data/vendor/plugins/activity_tracker/test/fixtures/test_user.rb +0 -4
  538. data/vendor/plugins/activity_tracker/test/fixtures/test_users.yml +0 -6
  539. data/vendor/plugins/activity_tracker/test/schema.rb +0 -21
  540. data/vendor/plugins/acts_as_list/README +0 -23
  541. data/vendor/plugins/acts_as_list/init.rb +0 -3
  542. data/vendor/plugins/acts_as_list/lib/active_record/acts/list.rb +0 -256
  543. data/vendor/plugins/acts_as_list/test/list_test.rb +0 -332
  544. data/vendor/plugins/acts_as_publishable/uninstall.rb +0 -1
  545. data/vendor/plugins/auto_complete/README +0 -23
  546. data/vendor/plugins/auto_complete/Rakefile +0 -22
  547. data/vendor/plugins/auto_complete/init.rb +0 -2
  548. data/vendor/plugins/auto_complete/lib/auto_complete.rb +0 -47
  549. data/vendor/plugins/auto_complete/lib/auto_complete_macros_helper.rb +0 -143
  550. data/vendor/plugins/auto_complete/test/auto_complete_test.rb +0 -67
  551. data/vendor/plugins/enumerations_mixin/.gitignore +0 -1
  552. data/vendor/plugins/enumerations_mixin/Gemfile +0 -1
  553. data/vendor/plugins/enumerations_mixin/LICENSE +0 -20
  554. data/vendor/plugins/enumerations_mixin/README.md +0 -120
  555. data/vendor/plugins/enumerations_mixin/README_ENUMERATIONS +0 -163
  556. data/vendor/plugins/enumerations_mixin/Rakefile +0 -14
  557. data/vendor/plugins/enumerations_mixin/VERSION +0 -1
  558. data/vendor/plugins/enumerations_mixin/enumerations_mixin.gemspec +0 -44
  559. data/vendor/plugins/enumerations_mixin/examples/virtual_enumerations_sample.rb +0 -76
  560. data/vendor/plugins/enumerations_mixin/init.rb +0 -21
  561. data/vendor/plugins/enumerations_mixin/lib/active_record/acts/enumerated.rb +0 -180
  562. data/vendor/plugins/enumerations_mixin/lib/active_record/aggregations/has_enumerated.rb +0 -60
  563. data/vendor/plugins/enumerations_mixin/lib/active_record/virtual_enumerations.rb +0 -68
  564. data/vendor/plugins/enumerations_mixin/lib/enumerations_mixin.rb +0 -12
  565. data/vendor/plugins/enumerations_mixin/virtual_enumerations_sample.rb +0 -76
  566. data/vendor/plugins/prototype_legacy_helper/README.markdown +0 -13
  567. data/vendor/plugins/prototype_legacy_helper/init.rb +0 -1
  568. data/vendor/plugins/prototype_legacy_helper/lib/prototype_legacy_helper.rb +0 -432
  569. data/vendor/plugins/prototype_legacy_helper/test/test_prototype_helper.rb +0 -297
  570. data/vendor/plugins/resource_feeder/init.rb +0 -2
  571. data/vendor/plugins/resource_feeder/lib/resource_feeder.rb +0 -2
  572. data/vendor/plugins/respond_to_parent/MIT-LICENSE +0 -20
  573. data/vendor/plugins/respond_to_parent/README +0 -47
  574. data/vendor/plugins/respond_to_parent/Rakefile +0 -22
  575. data/vendor/plugins/respond_to_parent/init.rb +0 -1
  576. data/vendor/plugins/respond_to_parent/install.rb +0 -1
  577. data/vendor/plugins/respond_to_parent/lib/responds_to_parent.rb +0 -70
  578. data/vendor/plugins/respond_to_parent/test/responds_to_parent_test.rb +0 -10
  579. data/vendor/plugins/respond_to_parent/test/test_helper.rb +0 -6
  580. data/vendor/plugins/respond_to_parent/uninstall.rb +0 -1
@@ -2,13 +2,18 @@ class AdsController < BaseController
2
2
 
3
3
  before_filter :login_required
4
4
  before_filter :admin_required
5
+
6
+ uses_tiny_mce do
7
+ {:only => [:new, :edit, :create, :update], :options => configatron.default_mce_options}
8
+ end
5
9
 
6
10
  # GET /ads
7
11
  # GET /ads.xml
8
12
  def index
9
- @search = Ad.search(params[:search])
10
- @search.meta_sort ||= 'created_at.desc'
11
- @ads = @search.page(params[:page]).per(15)
13
+ @search = Ad.search(params[:q])
14
+ @result = @search.result
15
+ @ads = @result.order('created_at DESC').distinct
16
+ @ads = @result.page(params[:page]).per(15)
12
17
 
13
18
  respond_to do |format|
14
19
  format.html
@@ -38,7 +43,7 @@ class AdsController < BaseController
38
43
  # POST /ads
39
44
  # POST /ads.xml
40
45
  def create
41
- @ad = Ad.new(params[:ad])
46
+ @ad = Ad.new(ad_params)
42
47
 
43
48
  respond_to do |format|
44
49
  if @ad.save
@@ -56,7 +61,7 @@ class AdsController < BaseController
56
61
  @ad = Ad.find(params[:id])
57
62
 
58
63
  respond_to do |format|
59
- if @ad.update_attributes(params[:ad])
64
+ if @ad.update_attributes(ad_params)
60
65
  flash[:notice] = :ad_was_successfully_updated.l
61
66
  format.html { redirect_to ad_url(@ad) }
62
67
  else
@@ -76,4 +81,10 @@ class AdsController < BaseController
76
81
  format.xml { head :ok }
77
82
  end
78
83
  end
84
+
85
+ private
86
+
87
+ def ad_params
88
+ params[:ad].permit(:html, :name, :frequency, :audience, :published, :time_constrained, :start_date, :end_date, :location)
89
+ end
79
90
  end
@@ -27,7 +27,7 @@ class AlbumsController < BaseController
27
27
  # GET /albums/new
28
28
  # GET /albums/new.xml
29
29
  def new
30
- @album = Album.new(params[:album])
30
+ @album = Album.new
31
31
 
32
32
  respond_to do |format|
33
33
  format.html # new.html.erb
@@ -43,7 +43,7 @@ class AlbumsController < BaseController
43
43
  # POST /albums
44
44
  # POST /albums.xml
45
45
  def create
46
- @album = Album.new(params[:album])
46
+ @album = Album.new(album_params)
47
47
  @album.user_id = current_user.id
48
48
 
49
49
  respond_to do |format|
@@ -60,13 +60,13 @@ class AlbumsController < BaseController
60
60
  end
61
61
  end
62
62
 
63
- # PUT /albums/1
64
- # PUT /albums/1.xml
63
+ # patch /albums/1
64
+ # patch /albums/1.xml
65
65
  def update
66
66
  @album = Album.find(params[:id])
67
67
 
68
68
  respond_to do |format|
69
- if @album.update_attributes(params[:album])
69
+ if @album.update_attributes(album_params)
70
70
  if params[:go_to] == 'only_create'
71
71
  flash[:notice] = :album_updated.l
72
72
  format.html { redirect_to(user_album_path(current_user, @album)) }
@@ -102,5 +102,11 @@ class AlbumsController < BaseController
102
102
  redirect_to user_albums_path(current_user)
103
103
  flash[:notice] = :album_added_photos.l
104
104
  end
105
+
106
+ private
107
+
108
+ def album_params
109
+ params[:album].permit(:title, :description)
110
+ end
105
111
 
106
112
  end
@@ -60,9 +60,6 @@ class BaseController < ApplicationController
60
60
  def advertise
61
61
  end
62
62
 
63
- def css_help
64
- end
65
-
66
63
  protected
67
64
  def self.uses_tiny_mce(options = {}, &block)
68
65
  if block_given?
@@ -70,6 +67,7 @@ class BaseController < ApplicationController
70
67
  end
71
68
 
72
69
  new_configuration = TinyMCE::Rails.configuration.merge(options.delete(:options)).options
70
+ new_configuration.stringify_keys!
73
71
 
74
72
  # Set instance vars in the current class
75
73
  p = Proc.new do |c|
@@ -124,24 +122,23 @@ class BaseController < ApplicationController
124
122
  @recent_clippings = Clipping.find_recent(:limit => 10)
125
123
  @recent_photos = Photo.find_recent(:limit => 10)
126
124
  @recent_comments = Comment.find_recent(:limit => 13)
127
- @popular_tags = popular_tags(30)
125
+ @popular_tags = popular_tags(30).to_a
128
126
  @recent_activity = User.recent_activity(:size => 15, :current => 1)
129
127
 
130
128
  end
131
129
 
132
130
  def get_additional_homepage_data
133
- @sidebar_right = true
134
131
  @homepage_features = HomepageFeature.find_features
135
132
  @homepage_features_data = @homepage_features.collect {|f| [f.id, f.image.url(:large) ] }
136
133
 
137
- @active_users = User.find_by_activity({:limit => 5, :require_avatar => false})
134
+ @active_users = User.find_by_activity(:limit => 5, :require_avatar => false)
138
135
  @featured_writers = User.find_featured
139
136
 
140
137
  @featured_posts = Post.find_featured
141
138
 
142
- @topics = Topic.find(:all, :limit => 5, :order => "replied_at DESC")
139
+ @topics = Topic.order("replied_at DESC").limit(5)
143
140
 
144
- @popular_posts = Post.find_popular({:limit => 10})
141
+ @popular_posts = Post.find_popular(:limit => 10)
145
142
  @popular_polls = Poll.find_popular(:limit => 8)
146
143
  end
147
144
 
@@ -3,41 +3,35 @@ class CategoriesController < BaseController
3
3
  before_filter :admin_required, :only => [:new, :edit, :update, :create, :destroy, :index]
4
4
 
5
5
  cache_sweeper :category_sweeper, :only => [:create, :update, :destroy]
6
-
6
+
7
7
  # GET /categories
8
8
  # GET /categories.xml
9
9
  def index
10
- @categories = Category.find(:all)
10
+ @categories = Category.all
11
11
 
12
12
  respond_to do |format|
13
13
  format.html # index.rhtml
14
14
  format.xml { render :xml => @categories.to_xml }
15
15
  end
16
16
  end
17
-
17
+
18
18
  # GET /categories/1
19
19
  # GET /categories/1.xml
20
20
  def show
21
21
  @category = Category.find(params[:id])
22
- @sidebar_right = true
23
-
22
+
24
23
  order = (params[:popular] ? "view_count #{params[:popular].eql?('DESC') ? 'DESC' : 'ASC'}": "published_at DESC")
25
24
 
26
25
  @posts = Post.includes(:tags).where('category_id = ?', @category.id).order(order).page(params[:page])
27
-
28
- @popular_posts = @category.posts.order("view_count DESC").find(:all, :limit => 10)
26
+
27
+ @popular_posts = @category.posts.order("view_count DESC").limit(10)
29
28
  @popular_polls = Poll.find_popular_in_category(@category)
30
29
 
31
30
  @rss_title = "#{configatron.community_name}: #{@category.name} "+:posts.l
32
31
  @rss_url = category_path(@category, :format => :rss)
33
32
 
34
- @active_users = User.find(:all,
35
- :include => :posts,
36
- :limit => 5,
37
- :conditions => ["posts.category_id = ? AND posts.published_at > ?", @category.id, 14.days.ago],
38
- :order => "users.view_count DESC"
39
- )
40
-
33
+ @active_users = User.includes(:posts).where("posts.category_id = ? AND posts.published_at > ?", @category.id, 14.days.ago).references(:posts).limit(5).order("users.view_count DESC").to_a
34
+
41
35
  respond_to do |format|
42
36
  format.html # show.rhtml
43
37
  format.rss {
@@ -48,13 +42,13 @@ class CategoriesController < BaseController
48
42
  :pub_date => :published_at} })
49
43
  }
50
44
  end
51
- end
52
-
45
+ end
46
+
53
47
  # GET /categories/new
54
48
  def new
55
49
  @category = Category.new
56
50
  end
57
-
51
+
58
52
  # GET /categories/1;edit
59
53
  def edit
60
54
  @category = Category.find(params[:id])
@@ -63,12 +57,12 @@ class CategoriesController < BaseController
63
57
  # POST /categories
64
58
  # POST /categories.xml
65
59
  def create
66
- @category = Category.new(params[:category])
67
-
60
+ @category = Category.new(category_params)
61
+
68
62
  respond_to do |format|
69
63
  if @category.save
70
64
  flash[:notice] = :category_was_successfully_created.l
71
-
65
+
72
66
  format.html { redirect_to category_url(@category) }
73
67
  format.xml do
74
68
  headers["Location"] = category_url(@category)
@@ -80,41 +74,47 @@ class CategoriesController < BaseController
80
74
  end
81
75
  end
82
76
  end
83
-
84
- # PUT /categories/1
85
- # PUT /categories/1.xml
77
+
78
+ # patch /categories/1
79
+ # patch /categories/1.xml
86
80
  def update
87
81
  @category = Category.find(params[:id])
88
-
82
+
89
83
  respond_to do |format|
90
- if @category.update_attributes(params[:category])
84
+ if @category.update_attributes(category_params)
91
85
  format.html { redirect_to category_url(@category) }
92
86
  format.xml { render :nothing => true }
93
87
  else
94
88
  format.html { render :action => "edit" }
95
- format.xml { render :xml => @category.errors.to_xml }
89
+ format.xml { render :xml => @category.errors.to_xml }
96
90
  end
97
91
  end
98
92
  end
99
-
93
+
100
94
  # DELETE /categories/1
101
95
  # DELETE /categories/1.xml
102
96
  def destroy
103
97
  @category = Category.find(params[:id])
104
98
  @category.destroy
105
-
99
+
106
100
  respond_to do |format|
107
101
  format.html { redirect_to categories_url }
108
102
  format.xml { render :nothing => true }
109
103
  end
110
104
  end
111
-
105
+
112
106
  def show_tips
113
107
  @category = Category.find(params[:id] )
114
108
  render :partial => "/categories/tips", :locals => {:category => @category}
115
109
  rescue ActiveRecord::RecordNotFound
116
110
  render :partial => "/categories/tips", :locals => {:category => nil}
117
111
  end
118
-
119
-
112
+
113
+
114
+ private
115
+
116
+ def category_params
117
+ params[:category].permit(:name, :tips, :new_post_text, :nav_text)
118
+ end
119
+
120
120
  end
@@ -4,15 +4,15 @@ class ClippingsController < BaseController
4
4
  before_filter :require_current_user, :only => [:new, :edit, :update, :destroy]
5
5
 
6
6
  uses_tiny_mce do
7
- {:only => [:show,:new_clipping], :options => configatron.default_mce_options}
7
+ {:only => [:show,:new_clipping], :options => configatron.default_mce_options}
8
8
  end
9
9
 
10
- cache_sweeper :taggable_sweeper, :only => [:create, :update, :destroy]
10
+ cache_sweeper :taggable_sweeper, :only => [:create, :update, :destroy]
11
11
 
12
12
  def site_index
13
13
  @clippings = Clipping.includes(:tags).order(params[:recent] ? "created_at DESC" : "clippings.favorited_count DESC")
14
-
15
- @clippings = @clippings.where('tags.name = ?', params[:tag_name]) if params[:tag_name]
14
+
15
+ @clippings = @clippings.where('tags.name = ?', params[:tag_name]).references(:tags) if params[:tag_name]
16
16
  @clippings = @clippings.where('created_at > ?', 4.weeks.ago) unless params[:recent]
17
17
 
18
18
  @clippings = @clippings.page(params[:page])
@@ -44,9 +44,9 @@ class ClippingsController < BaseController
44
44
  @clippings = @clippings.where('tags.name = ?', params[:tag_name]) if params[:tag_name]
45
45
 
46
46
  @clippings = @clippings.page(params[:page])
47
-
48
- @tags = Clipping.includes(:taggings).where(:user_id => @user.id).tag_counts(:limit => 20)
49
-
47
+
48
+ @tags = Clipping.includes(:taggings).where(:user_id => @user.id).tag_counts(:limit => 20)
49
+
50
50
  @clippings_data = @clippings.collect {|c| [c.id, c.image_url, c.description, c.url ] }
51
51
 
52
52
  @rss_title = "#{configatron.community_name}: #{@user.login}'s clippings"
@@ -133,7 +133,7 @@ class ClippingsController < BaseController
133
133
  # POST /clippings.xml
134
134
  def create
135
135
  @user = current_user
136
- @clipping = @user.clippings.new(params[:clipping])
136
+ @clipping = @user.clippings.new(clipping_params)
137
137
  @clipping.user = @user
138
138
  @clipping.tag_list = params[:tag_list] || ''
139
139
 
@@ -153,19 +153,19 @@ class ClippingsController < BaseController
153
153
  end
154
154
  end
155
155
 
156
- # PUT /clippings/1
157
- # PUT /clippings/1.xml
156
+ # patch /clippings/1
157
+ # patch /clippings/1.xml
158
158
  def update
159
159
  @user = User.find(params[:user_id])
160
160
  @clipping = Clipping.find(params[:id])
161
161
  @clipping.tag_list = params[:tag_list] || ''
162
162
 
163
- if @clipping.update_attributes(params[:clipping])
163
+ if @clipping.update_attributes(clipping_params)
164
164
  respond_to do |format|
165
165
  format.html { redirect_to user_clipping_url(@user, @clipping) }
166
166
  end
167
167
  else
168
- respond_to do |format|
168
+ respond_to do |format|
169
169
  format.html { render :action => "edit" }
170
170
  end
171
171
  end
@@ -188,4 +188,10 @@ class ClippingsController < BaseController
188
188
  def description_for_rss(clip)
189
189
  "<a href='#{user_clipping_url(clip.user, clip)}' title='#{clip.title_for_rss}'><img src='#{clip.image_url}' alt='#{clip.description}' /></a>"
190
190
  end
191
+
192
+ private
193
+
194
+ def clipping_params
195
+ params.require(:clipping).permit(:url, :description, :image_url, :image)
196
+ end
191
197
  end
@@ -22,7 +22,10 @@ class CommentsController < BaseController
22
22
 
23
23
  def update
24
24
  @comment = Comment.find(params[:id])
25
- @comment.update_attributes(params[:comment])
25
+ @comment.update_attributes!(comment_params)
26
+ rescue ActiveRecord::RecordInvalid
27
+ flash[:error] = :an_error_occurred.l
28
+ ensure
26
29
  respond_to do |format|
27
30
  format.js
28
31
  end
@@ -30,7 +33,7 @@ class CommentsController < BaseController
30
33
 
31
34
  def approve
32
35
  @comment = Comment.find(params[:id])
33
- @comment.ham! if !configatron.akismet_key.nil?
36
+ @comment.ham! if configatron.has_key?(:akismet_key)
34
37
  @comment.role = 'published'
35
38
  @comment.save!
36
39
  respond_to do |format|
@@ -100,7 +103,7 @@ class CommentsController < BaseController
100
103
  commentable_type = get_commentable_type(params[:commentable_type])
101
104
  @commentable = commentable_type.singularize.constantize.find(params[:commentable_id])
102
105
 
103
- @comment = @commentable.comments.new(params[:comment])
106
+ @comment = @commentable.comments.new(comment_params)
104
107
 
105
108
  @comment.recipient = @commentable.owner
106
109
  @comment.user_id = current_user.id if current_user
@@ -122,7 +125,7 @@ class CommentsController < BaseController
122
125
  def destroy
123
126
  @comment = Comment.find(params[:id])
124
127
  if @comment.can_be_deleted_by(current_user) && @comment.destroy
125
- if params[:spam] && !configatron.akismet_key.nil?
128
+ if params[:spam] && configatron.has_key?(:akismet_key)
126
129
  @comment.spam!
127
130
  end
128
131
  flash.now[:notice] = :the_comment_was_deleted.l
@@ -133,23 +136,25 @@ class CommentsController < BaseController
133
136
  format.html { redirect_to users_url }
134
137
  format.js {
135
138
  render :inline => flash[:error], :status => 500 if flash[:error]
136
- render :nothing => true if flash[:notice]
139
+ render if flash[:notice]
137
140
  }
138
141
  end
139
142
  end
140
143
 
141
144
  def delete_selected
142
- if request.post?
145
+ if request.delete?
143
146
  if params[:delete]
144
147
  params[:delete].each { |id|
145
148
  comment = Comment.find(id)
146
- comment.spam! if params[:spam] && !configatron.akismet_key.nil?
149
+ comment.spam! if params[:spam] && configatron.has_key?(:akismet_key)
147
150
  comment.destroy if comment.can_be_deleted_by(current_user)
148
151
  }
149
152
  end
150
153
  flash[:notice] = :comments_deleted.l
151
- redirect_to admin_comments_path
154
+ else
155
+ flash[:error] = :comments_not_deleted.l
152
156
  end
157
+ redirect_to admin_comments_path
153
158
  end
154
159
 
155
160
 
@@ -182,4 +187,8 @@ class CommentsController < BaseController
182
187
  })
183
188
  end
184
189
 
190
+ def comment_params
191
+ params.require(:comment).permit(:author_name, :author_email, :notify_by_email, :author_url, :comment)
192
+ end
193
+
185
194
  end
@@ -3,12 +3,12 @@ class EventsController < BaseController
3
3
  require 'htmlentities'
4
4
  caches_page :ical
5
5
  cache_sweeper :event_sweeper, :only => [:create, :update, :destroy]
6
-
6
+
7
7
 
8
8
  uses_tiny_mce do
9
9
  {:only => [:new, :edit, :create, :update, :clone ], :options => configatron.default_mce_options}
10
10
  end
11
-
11
+
12
12
  uses_tiny_mce do
13
13
  {:only => [:show], :options => configatron.simple_mce_options}
14
14
  end
@@ -19,7 +19,7 @@ class EventsController < BaseController
19
19
  @calendar = RiCal.Calendar
20
20
  @calendar.add_x_property 'X-WR-CALNAME', configatron.community_name
21
21
  @calendar.add_x_property 'X-WR-CALDESC', "#{configatron.community_name} #{:events.l}"
22
- Event.find(:all).each do |ce_event|
22
+ Event.all.each do |ce_event|
23
23
  rical_event = RiCal.Event do |event|
24
24
  event.dtstart = ce_event.start_time
25
25
  event.dtend = ce_event.end_time
@@ -37,7 +37,7 @@ class EventsController < BaseController
37
37
  def show
38
38
  @is_admin_user = (current_user && current_user.admin?)
39
39
  @event = Event.find(params[:id])
40
- @comments = @event.comments.find(:all, :limit => 20, :order => 'created_at DESC', :include => :user)
40
+ @comments = @event.comments.includes(:user).order('created_at DESC').limit(20)
41
41
  end
42
42
 
43
43
  def index
@@ -52,19 +52,19 @@ class EventsController < BaseController
52
52
  end
53
53
 
54
54
  def new
55
- @event = Event.new(params[:event])
55
+ @event = Event.new
56
56
  @metro_areas, @states = setup_metro_area_choices_for(current_user)
57
57
  @metro_area_id, @state_id, @country_id = setup_location_for(current_user)
58
58
  end
59
-
59
+
60
60
  def edit
61
61
  @event = Event.find(params[:id])
62
62
  @metro_areas, @states = setup_metro_area_choices_for(@event)
63
63
  @metro_area_id, @state_id, @country_id = setup_location_for(@event)
64
64
  end
65
-
65
+
66
66
  def create
67
- @event = Event.new(params[:event])
67
+ @event = Event.new(event_params)
68
68
  @event.user = current_user
69
69
  if params[:metro_area_id]
70
70
  @event.metro_area = MetroArea.find(params[:metro_area_id])
@@ -74,10 +74,10 @@ class EventsController < BaseController
74
74
  respond_to do |format|
75
75
  if @event.save
76
76
  flash[:notice] = :event_was_successfully_created.l
77
-
77
+
78
78
  format.html { redirect_to event_path(@event) }
79
79
  else
80
- format.html {
80
+ format.html {
81
81
  @metro_areas, @states = setup_metro_area_choices_for(@event)
82
82
  if params[:metro_area_id]
83
83
  @metro_area_id = params[:metro_area_id].to_i
@@ -87,7 +87,7 @@ class EventsController < BaseController
87
87
  render :action => "new"
88
88
  }
89
89
  end
90
- end
90
+ end
91
91
  end
92
92
 
93
93
  def update
@@ -97,12 +97,12 @@ class EventsController < BaseController
97
97
  else
98
98
  @event.metro_area = nil
99
99
  end
100
-
100
+
101
101
  respond_to do |format|
102
- if @event.update_attributes(params[:event])
102
+ if @event.update_attributes(event_params)
103
103
  format.html { redirect_to event_path(@event) }
104
104
  else
105
- format.html {
105
+ format.html {
106
106
  @metro_areas, @states = setup_metro_area_choices_for(@event)
107
107
  if params[:metro_area_id]
108
108
  @metro_area_id = params[:metro_area_id].to_i
@@ -114,11 +114,11 @@ class EventsController < BaseController
114
114
  end
115
115
  end
116
116
  end
117
-
117
+
118
118
  def destroy
119
119
  @event = Event.find(params[:id])
120
120
  @event.destroy
121
-
121
+
122
122
  respond_to do |format|
123
123
  format.html { redirect_to :back }
124
124
  end
@@ -139,16 +139,16 @@ class EventsController < BaseController
139
139
  if object.is_a? Event
140
140
  states = object.metro_area.country.states
141
141
  if object.metro_area.state
142
- metro_areas = object.metro_area.state.metro_areas.all(:order=>"name")
142
+ metro_areas = object.metro_area.state.metro_areas.order("name")
143
143
  else
144
- metro_areas = object.metro_area.country.metro_areas.all(:order=>"name")
145
- end
144
+ metro_areas = object.metro_area.country.metro_areas.order("name")
145
+ end
146
146
  elsif object.is_a? User
147
147
  states = object.country.states if object.country
148
148
  if object.state
149
- metro_areas = object.state.metro_areas.all(:order => "name")
149
+ metro_areas = object.state.metro_areas..order("name")
150
150
  else
151
- metro_areas = object.country.metro_areas.all(:order => "name")
151
+ metro_areas = object.country.metro_areas.order("name")
152
152
  end
153
153
  end
154
154
  end
@@ -170,4 +170,8 @@ class EventsController < BaseController
170
170
  return metro_area_id, state_id, country_id
171
171
  end
172
172
 
173
+ def event_params
174
+ params[:event].permit(:name, :start_time, :end_time, :description, :metro_area, :location, :allow_rsvp)
175
+ end
176
+
173
177
  end