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
@@ -3,7 +3,7 @@ class MetroAreasController < BaseController
3
3
  before_filter :admin_required
4
4
 
5
5
  def index
6
- @metro_areas = MetroArea.order("countries.name, metro_areas.name DESC").includes(:country).page(params[:page])
6
+ @metro_areas = MetroArea.includes(:country).order("countries.name, metro_areas.name DESC").references(:countries).page(params[:page])
7
7
  end
8
8
 
9
9
  def show
@@ -24,7 +24,7 @@ class MetroAreasController < BaseController
24
24
  end
25
25
 
26
26
  def create
27
- @metro_area = MetroArea.new(params[:metro_area])
27
+ @metro_area = MetroArea.new(metro_area_params)
28
28
 
29
29
  respond_to do |format|
30
30
  if @metro_area.save
@@ -46,7 +46,7 @@ class MetroAreasController < BaseController
46
46
  @metro_area = MetroArea.find(params[:id])
47
47
 
48
48
  respond_to do |format|
49
- if @metro_area.update_attributes(params[:metro_area])
49
+ if @metro_area.update_attributes(metro_area_params)
50
50
  format.html { redirect_to metro_area_url(@metro_area) }
51
51
  format.xml { render :nothing => true }
52
52
  else
@@ -65,4 +65,10 @@ class MetroAreasController < BaseController
65
65
  format.xml { render :nothing => true }
66
66
  end
67
67
  end
68
+
69
+ private
70
+
71
+ def metro_area_params
72
+ params[:metro_area].permit(:name, :state, :country_id, :state_id)
73
+ end
68
74
  end
@@ -1,6 +1,6 @@
1
1
  class ModeratorsController < BaseController
2
2
  before_filter :admin_required
3
-
3
+
4
4
  def create
5
5
  @forum = Forum.find(params[:forum_id])
6
6
  @user = User.find(params[:user_id])
@@ -2,7 +2,7 @@ class MonitorshipsController < BaseController
2
2
  before_filter :login_required
3
3
 
4
4
  def create
5
- @monitorship = Monitorship.find_or_initialize_by_user_id_and_topic_id(current_user.id, params[:topic_id])
5
+ @monitorship = Monitorship.find_or_initialize_by(:user_id => current_user.id, :topic_id => params[:topic_id])
6
6
  @monitorship.update_attribute :active, true
7
7
  respond_to do |format|
8
8
  format.html { redirect_to forum_topic_path(params[:forum_id], params[:topic_id]) }
@@ -11,7 +11,7 @@ class MonitorshipsController < BaseController
11
11
  end
12
12
 
13
13
  def destroy
14
- Monitorship.update_all ['active = ?', false], ['user_id = ? and topic_id = ?', current_user.id, params[:topic_id]]
14
+ Monitorship.where('user_id = ? and topic_id = ?', current_user.id, params[:topic_id]).update_all(['active = ?', false])
15
15
  respond_to do |format|
16
16
  format.html { redirect_to forum_topic_path(params[:forum_id], params[:topic_id]) }
17
17
  format.js
@@ -18,7 +18,7 @@ class PagesController < BaseController
18
18
  end
19
19
 
20
20
  def preview
21
- @page = Page.find(params[:id])
21
+ @page = Page.unscoped.find(params[:id])
22
22
  render :action => :show
23
23
  end
24
24
 
@@ -32,9 +32,17 @@ class PagesController < BaseController
32
32
  flash[:error] = :page_not_found.l
33
33
  redirect_to home_path
34
34
  end
35
+
36
+ def new
37
+ @page = Page.new
38
+ end
39
+
40
+ def edit
41
+ @page = Page.unscoped.find(params[:id])
42
+ end
35
43
 
36
44
  def create
37
- @page = Page.new(params[:page])
45
+ @page = Page.new(page_params)
38
46
  if @page.save
39
47
  flash[:notice] = :page_was_successfully_created.l
40
48
  redirect_to admin_pages_path
@@ -44,7 +52,7 @@ class PagesController < BaseController
44
52
  end
45
53
 
46
54
  def update
47
- if @page.update_attributes(params[:page])
55
+ if @page.update_attributes(page_params)
48
56
  flash[:notice] = :page_was_successfully_updated.l
49
57
  redirect_to admin_pages_path
50
58
  else
@@ -61,10 +69,14 @@ class PagesController < BaseController
61
69
  private
62
70
 
63
71
  def require_moderator
64
- @page ||= Page.find(params[:id]) if params[:id]
72
+ @page ||= Page.unscoped.find(params[:id]) if params[:id]
65
73
  unless admin? || moderator?
66
74
  redirect_to :controller => 'sessions', :action => 'new' and return false
67
75
  end
68
76
  end
69
77
 
78
+ def page_params
79
+ params.require(:page).permit(:title, :body, :published_as, :page_public)
80
+ end
81
+
70
82
  end
@@ -1,5 +1,4 @@
1
1
  class PasswordResetsController < BaseController
2
-
3
2
  before_filter :require_no_user
4
3
  before_filter :load_user_using_perishable_token, :only => [ :edit, :update ]
5
4
 
@@ -1,7 +1,7 @@
1
1
  require 'pp'
2
2
 
3
3
  class PhotosController < BaseController
4
- include Viewable
4
+ include Viewable
5
5
  before_filter :login_required, :only => [:new, :edit, :update, :destroy, :create, :swfupload]
6
6
  before_filter :find_user, :only => [:new, :edit, :index, :show]
7
7
  before_filter :require_current_user, :only => [:new, :edit, :update, :destroy]
@@ -12,12 +12,12 @@ class PhotosController < BaseController
12
12
  {:only => [:show], :options => configatron.simple_mce_options}
13
13
  end
14
14
 
15
- cache_sweeper :taggable_sweeper, :only => [:create, :update, :destroy]
15
+ cache_sweeper :taggable_sweeper, :only => [:create, :update, :destroy]
16
16
 
17
17
  def recent
18
18
  @photos = Photo.recent.page(params[:page])
19
19
  end
20
-
20
+
21
21
  def index
22
22
  @user = User.find(params[:user_id])
23
23
 
@@ -25,16 +25,16 @@ class PhotosController < BaseController
25
25
  if params[:tag_name]
26
26
  @photos = @photos.where('tags.name = ?', params[:tag_name])
27
27
  end
28
-
28
+
29
29
  @photos = @photos.recent.page(params[:page]).per(20)
30
-
30
+
31
31
  @tags = Photo.includes(:taggings).where(:user_id => @user.id).tag_counts(:limit => 20)
32
-
32
+
33
33
  @rss_title = "#{configatron.community_name}: #{@user.login}'s photos"
34
34
  @rss_url = user_photos_path(@user,:format => :rss)
35
35
 
36
36
  respond_to do |format|
37
- format.html
37
+ format.html
38
38
  format.rss {
39
39
  render_rss_feed_for(@photos,
40
40
  { :feed => {:title => @rss_title, :link => url_for(:controller => 'photos', :action => 'index', :user_id => @user) },
@@ -50,8 +50,8 @@ class PhotosController < BaseController
50
50
 
51
51
  def manage_photos
52
52
  if logged_in?
53
- @user = current_user
54
- @photos = current_user.photos.recent.includes(:tags)
53
+ @user = current_user
54
+ @photos = current_user.photos.recent.includes(:tags)
55
55
  if params[:tag_name]
56
56
  @photos = @photos.where('tags.name = ?', params[:tag_name])
57
57
  end
@@ -68,9 +68,9 @@ class PhotosController < BaseController
68
68
  def show
69
69
  @photo = @user.photos.find(params[:id])
70
70
  update_view_count(@photo) if current_user && current_user.id != @photo.user_id
71
-
71
+
72
72
  @is_current_user = @user.eql?(current_user)
73
- @comment = Comment.new(params[:comment])
73
+ @comment = Comment.new
74
74
 
75
75
  @previous = @photo.previous_photo
76
76
  @next = @photo.next_photo
@@ -101,11 +101,11 @@ class PhotosController < BaseController
101
101
  # POST /photos.xml
102
102
  def create
103
103
  @user = current_user
104
- @photo = Photo.new(params[:photo])
104
+ @photo = Photo.new(photo_params)
105
105
  @photo.user = @user
106
106
  @photo.tag_list = params[:tag_list] || ''
107
-
108
- @photo.album_id = params[:album_id] || ''
107
+
108
+ @photo.album_id = params[:album_id] || ''
109
109
  @photo.album_id = params[:album_selected] unless params[:album_selected].blank?
110
110
 
111
111
 
@@ -113,20 +113,16 @@ class PhotosController < BaseController
113
113
  if @photo.save
114
114
  flash[:notice] = :photo_was_successfully_created.l
115
115
 
116
- format.html {
116
+ format.html {
117
117
  render :action => 'inline_new', :layout => false and return if params[:inline]
118
118
  if params[:album_id]
119
119
  redirect_to user_album_path(current_user,params[:album_id])
120
- else
120
+ else
121
121
  redirect_to user_photo_url(:id => @photo, :user_id => @photo.user)
122
122
  end
123
123
  }
124
124
  format.js {
125
- responds_to_parent do
126
- render :update do |page|
127
- page << "upload_image_callback('#{@photo.photo.url()}', '#{@photo.display_name}', '#{@photo.id}');"
128
- end
129
- end
125
+ # render create.js.erb
130
126
  }
131
127
  else
132
128
  format.html {
@@ -134,27 +130,24 @@ class PhotosController < BaseController
134
130
  render :action => "new"
135
131
  }
136
132
  format.js {
137
- responds_to_parent do
138
- render :update do |page|
139
- page.alert(:sorry_there_was_an_error_uploading_the_photo.l)
140
- end
141
- end
133
+ # render create.js.erb
134
+ @alert = :sorry_there_was_an_error_uploading_the_photo.l
142
135
  }
143
136
  end
144
137
  end
145
138
  end
146
139
 
147
140
 
148
- # PUT /photos/1
149
- # PUT /photos/1.xml
141
+ # patch /photos/1
142
+ # patch /photos/1.xml
150
143
  def update
151
144
  @photo = Photo.find(params[:id])
152
145
  @user = @photo.user
153
146
  @photo.tag_list = params[:tag_list] || ''
154
- @photo.album_id = params[:photo][:album_id]
147
+ @photo.album_id = photo_params[:album_id]
155
148
 
156
149
  respond_to do |format|
157
- if @photo.update_attributes(params[:photo])
150
+ if @photo.update_attributes(photo_params)
158
151
  format.html { redirect_to user_photo_url(@photo.user, @photo) }
159
152
  else
160
153
  format.html { render :action => "edit" }
@@ -186,4 +179,13 @@ class PhotosController < BaseController
186
179
  "<a href='#{user_photo_url(photo.user, photo)}' title='#{photo.name}'><img src='#{photo.photo.url(:large)}' alt='#{photo.name}' /><br />#{photo.description}</a>"
187
180
  end
188
181
 
182
+ private
183
+
184
+ def photo_params
185
+ params[:photo].permit(:name, :description, :album_id, :photo)
186
+ end
187
+
188
+ def comment_params
189
+ params[:comment].permit(:author_name, :author_email, :notify_by_email, :author_url, :comment)
190
+ end
189
191
  end
@@ -21,9 +21,9 @@ class PostsController < BaseController
21
21
 
22
22
  def manage
23
23
  Post.unscoped do
24
- @search = Post.search(params[:search])
25
- @search.meta_sort ||= 'created_at.desc'
26
- @posts = @search.where(:user_id => @user.id).page(params[:page]).per(params[:size]||10)
24
+ @search = Post.search(params[:q])
25
+ @posts = @search.result
26
+ @posts = @posts.where(:user_id => @user.id).order('created_at DESC').page(params[:page]).per(params[:size]||10)
27
27
  end
28
28
  end
29
29
 
@@ -37,7 +37,7 @@ class PostsController < BaseController
37
37
 
38
38
  @is_current_user = @user.eql?(current_user)
39
39
 
40
- @popular_posts = @user.posts.order("view_count DESC").limit(10).all
40
+ @popular_posts = @user.posts.order("view_count DESC").limit(10).to_a
41
41
 
42
42
  @rss_title = "#{configatron.community_name}: #{@user.login}'s posts"
43
43
  @rss_url = user_posts_path(@user,:format => :rss)
@@ -65,13 +65,13 @@ class PostsController < BaseController
65
65
 
66
66
  @user = @post.user
67
67
  @is_current_user = @user.eql?(current_user)
68
- @comment = Comment.new(params[:comment])
68
+ @comment = Comment.new
69
69
 
70
- @comments = @post.comments.includes(:user).order('created_at DESC').limit(20)
70
+ @comments = @post.comments.includes(:user).order('created_at DESC').limit(20).to_a
71
71
 
72
72
  @previous = @post.previous_post
73
73
  @next = @post.next_post
74
- @popular_posts = @user.posts.except(:order).order('view_count DESC').limit(10).all
74
+ @popular_posts = @user.posts.except(:order).order('view_count DESC').limit(10).to_a
75
75
  @related = Post.find_related_to(@post)
76
76
  @most_commented = Post.find_most_commented
77
77
  end
@@ -90,9 +90,10 @@ class PostsController < BaseController
90
90
  # GET /posts/new
91
91
  def new
92
92
  @user = User.find(params[:user_id])
93
- @post = Post.new(params[:post])
93
+ @post = Post.new
94
+ @post.category = Category.find(params[:category_id]) if params[:category_id]
94
95
  @post.published_as = 'live'
95
- @categories = Category.find(:all)
96
+ @categories = Category.all
96
97
  end
97
98
 
98
99
  # GET /posts/1;edit
@@ -104,9 +105,8 @@ class PostsController < BaseController
104
105
  # POST /posts.xml
105
106
  def create
106
107
  @user = User.find(params[:user_id])
107
- @post = Post.new(params[:post])
108
+ @post = Post.new(post_params)
108
109
  @post.user = @user
109
- @post.tag_list = params[:tag_list] || ''
110
110
 
111
111
  respond_to do |format|
112
112
  if @post.save
@@ -128,15 +128,14 @@ class PostsController < BaseController
128
128
  end
129
129
  end
130
130
 
131
- # PUT /posts/1
132
- # PUT /posts/1.xml
131
+ # patch /posts/1
132
+ # patch /posts/1.xml
133
133
  def update
134
134
  @post = Post.unscoped.find(params[:id])
135
135
  @user = @post.user
136
- @post.tag_list = params[:tag_list] || ''
137
136
 
138
137
  respond_to do |format|
139
- if @post.update_attributes(params[:post])
138
+ if @post.update_attributes(post_params)
140
139
  @post.update_poll(params[:poll], params[:choices]) if params[:poll]
141
140
 
142
141
  format.html { redirect_to user_post_path(@post.user, @post) }
@@ -167,9 +166,18 @@ class PostsController < BaseController
167
166
  end
168
167
  @post = Post.find(params[:id])
169
168
  if @post.send_to(params[:emails], params[:message], (current_user || nil))
170
- render :inline => "It worked!"
169
+ flash[:notice] = "Your message has been sent."
170
+ respond_to do |format|
171
+ format.html {render :partial => 'shared/messages'}
172
+ format.js
173
+ end
171
174
  else
172
- render :inline => "You entered invalid addresses: <ul>"+ @post.invalid_emails.collect{|email| '<li>'+email+'</li>' }.join+"</ul> Please correct these and try again.", :status => 500
175
+ flash[:error] = "You entered invalid addresses: "+ @post.invalid_emails.join(', ')+". Please correct these and try again."
176
+
177
+ respond_to do |format|
178
+ format.html {render :partial => 'shared/messages', :status => 500}
179
+ format.js
180
+ end
173
181
  end
174
182
  end
175
183
 
@@ -248,4 +256,12 @@ class PostsController < BaseController
248
256
  return @user
249
257
  end
250
258
 
259
+
260
+ def post_params
261
+ params[:post].permit(:category_id, :title, :raw_post, :published_as, :send_comment_notifications, :tag_list)
262
+ end
263
+
264
+ def comment_params
265
+ params[:comment].permit(:author_name, :author_email, :notify_by_email, :author_url, :comment)
266
+ end
251
267
  end
@@ -22,7 +22,7 @@ class RsvpsController < BaseController
22
22
  # POST /rsvps
23
23
  # POST /rsvps.xml
24
24
  def create
25
- @rsvp = @event.rsvps.new(params[:rsvp])
25
+ @rsvp = @event.rsvps.new(rsvp_params)
26
26
  @rsvp.user = current_user
27
27
  respond_to do |format|
28
28
  if @rsvp.save
@@ -36,10 +36,10 @@ class RsvpsController < BaseController
36
36
  end
37
37
  end
38
38
 
39
- # PUT /rsvps/1
40
- # PUT /rsvps/1.xml
39
+ # patch /rsvps/1
40
+ # patch /rsvps/1.xml
41
41
  def update
42
- @rsvp.attendees_count = params[:rsvp][:attendees_count]
42
+ @rsvp.attendees_count = rsvp_params[:attendees_count]
43
43
  respond_to do |format|
44
44
  if @rsvp.save
45
45
  flash[:notice] = :your_rsvp_was_successfully_updated.l
@@ -73,5 +73,9 @@ class RsvpsController < BaseController
73
73
  rescue
74
74
  redirect_to [@event]
75
75
  end
76
+
77
+ def rsvp_params
78
+ params[:rsvp].permit(:attendees_count)
79
+ end
76
80
 
77
81
  end
@@ -19,27 +19,27 @@ class SbPostsController < BaseController
19
19
 
20
20
  def index
21
21
  conditions = []
22
- [:user_id, :forum_id].each { |attr|
23
- conditions << SbPost.send(:sanitize_sql, ["sb_posts.#{attr} = ?", params[attr].to_i]) if params[attr]
22
+ [:user_id, :forum_id].each { |attr|
23
+ conditions << SbPost.send(:sanitize_sql, ["sb_posts.#{attr} = ?", params[attr].to_i]) if params[attr]
24
24
  }
25
25
  conditions = conditions.any? ? conditions.collect { |c| "(#{c})" }.join(' AND ') : nil
26
26
 
27
27
  @posts = SbPost.with_query_options.where(conditions).page(params[:page])
28
-
29
- @users = User.find(:all, :select => 'distinct *', :conditions => ['id in (?)', @posts.collect(&:user_id).uniq]).index_by(&:id)
28
+
29
+ @users = User.distinct.where(:id => @posts.collect(&:user_id).uniq).to_a.index_by(&:id)
30
30
  end
31
31
 
32
32
  def search
33
33
  conditions = params[:q].blank? ? nil : SbPost.send(:sanitize_sql, ['LOWER(sb_posts.body) LIKE ?', "%#{params[:q]}%"])
34
-
34
+
35
35
  @posts = SbPost.with_query_options.where(conditions).page(params[:page])
36
36
 
37
- @users = User.find(:all, :select => 'distinct *', :conditions => ['id in (?)', @posts.collect(&:user_id).uniq]).index_by(&:id)
37
+ @users = User.distinct.where(:id => @posts.collect(&:user_id).uniq).to_a.index_by(&:id)
38
38
  render :action => :index
39
39
  end
40
40
 
41
41
  def monitored
42
- @user = User.find params[:user_id]
42
+ @user = User.find params[:user_id]
43
43
  @posts = SbPost.with_query_options.joins('INNER JOIN monitorships ON monitorships.topic_id = topics.id').where('monitorships.user_id = ? AND sb_posts.user_id != ?', params[:user_id], @user.id).page(params[:page])
44
44
  end
45
45
 
@@ -56,7 +56,7 @@ class SbPostsController < BaseController
56
56
  end
57
57
 
58
58
  def create
59
- @topic = Topic.find_by_id_and_forum_id(params[:topic_id].to_i, params[:forum_id].to_i, :include => :forum)
59
+ @topic = Topic.includes(:forum).where(:id => params[:topic_id].to_i, :forum_id => params[:forum_id].to_i).first
60
60
  if @topic.locked?
61
61
  respond_to do |format|
62
62
  format.html do
@@ -68,10 +68,10 @@ class SbPostsController < BaseController
68
68
  end
69
69
 
70
70
  @forum = @topic.forum
71
- @post = @topic.sb_posts.new(params[:post])
71
+ @post = @topic.sb_posts.new(sb_post_params)
72
72
 
73
73
  @post.user = current_user if current_user
74
- @post.author_ip = request.remote_ip #save the ip address for everyone, just because
74
+ @post.author_ip = request.remote_ip #save the ip address for everyone, just because
75
75
 
76
76
  if (logged_in? || verify_recaptcha(@post)) && @post.save
77
77
  respond_to do |format|
@@ -84,22 +84,22 @@ class SbPostsController < BaseController
84
84
  flash.now[:notice] = @post.errors.full_messages.to_sentence
85
85
  respond_to do |format|
86
86
  format.html do
87
- redirect_to forum_topic_path({:forum_id => params[:forum_id], :id => params[:topic_id], :anchor => 'reply-form', :page => (params[:page] || '1')}.merge({:post => params[:post]}))
87
+ redirect_to forum_topic_path({:forum_id => params[:forum_id], :id => params[:topic_id], :anchor => 'reply-form', :page => (params[:page] || '1')}.merge({:sb_post => params[:sb_post]}))
88
88
  end
89
89
  format.js
90
90
  end
91
91
  end
92
92
  end
93
-
93
+
94
94
  def edit
95
- respond_to do |format|
96
- format.html
95
+ respond_to do |format|
96
+ format.html
97
97
  format.js
98
98
  end
99
99
  end
100
-
100
+
101
101
  def update
102
- @post.update_attributes!(params[:post])
102
+ @post.update_attributes!(sb_post_params)
103
103
  rescue ActiveRecord::RecordInvalid
104
104
  flash[:bad_reply] = :an_error_occurred.l
105
105
  ensure
@@ -121,6 +121,7 @@ class SbPostsController < BaseController
121
121
  format.html do
122
122
  redirect_to forum_topic_path(:forum_id => params[:forum_id], :id => params[:topic_id], :page => params[:page]) unless performed?
123
123
  end
124
+ format.js
124
125
  format.xml { head 200 }
125
126
  end
126
127
  end
@@ -130,9 +131,12 @@ class SbPostsController < BaseController
130
131
  def authorized?
131
132
  %w(create new).include?(action_name) || @post.editable_by?(current_user)
132
133
  end
133
-
134
+
134
135
  def find_post
135
136
  @post = SbPost.find_by_id_and_topic_id_and_forum_id(params[:id].to_i, params[:topic_id].to_i, params[:forum_id].to_i) || raise(ActiveRecord::RecordNotFound)
136
137
  end
137
-
138
+
139
+ def sb_post_params
140
+ params[:sb_post].permit(:body, :author_email, :author_ip, :author_name, :author_url)
141
+ end
138
142
  end