muck-raker 0.1.15 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. data/README.rdoc +21 -8
  2. data/Rakefile +6 -0
  3. data/VERSION +1 -1
  4. data/app/controllers/admin/{recommender → muck}/feeds_controller.rb +2 -2
  5. data/app/controllers/{recommender → muck}/entries_controller.rb +8 -5
  6. data/app/controllers/muck/feed_previews_controller.rb +33 -0
  7. data/app/controllers/muck/feeds_controller.rb +128 -0
  8. data/app/controllers/{recommender → muck}/recommendations_controller.rb +4 -1
  9. data/app/controllers/{recommender → muck}/search_controller.rb +3 -1
  10. data/app/helpers/muck_raker_feeds_helper.rb +24 -0
  11. data/app/models/attention.rb +13 -1
  12. data/app/models/click.rb +12 -0
  13. data/app/models/entry.rb +45 -11
  14. data/app/models/feed.rb +81 -7
  15. data/app/models/feed_parent.rb +18 -0
  16. data/app/models/language.rb +14 -0
  17. data/app/models/oai_endpoint.rb +12 -0
  18. data/app/models/raker_mailer.rb +16 -0
  19. data/app/models/recommendation.rb +13 -0
  20. data/app/models/service.rb +14 -0
  21. data/app/models/subject.rb +8 -0
  22. data/app/models/tag_cloud.rb +14 -1
  23. data/app/views/admin/feeds/index.html.erb +65 -0
  24. data/app/views/entries/_related_entry.html.erb +4 -0
  25. data/app/views/entries/_result_status.html.erb +3 -3
  26. data/app/views/entries/details.html.erb +19 -22
  27. data/app/views/entries/index.html.erb +1 -1
  28. data/app/views/entries/show.html.erb +4 -7
  29. data/app/views/feed_previews/new.html.erb +1 -0
  30. data/app/views/feed_previews/select_feeds.html.erb +6 -0
  31. data/app/views/feeds/_entry.html.erb +1 -0
  32. data/app/views/feeds/_feed.html.erb +9 -0
  33. data/app/views/feeds/index.html.erb +30 -94
  34. data/app/views/feeds/new.html.erb +1 -109
  35. data/app/views/feeds/new_extended.html.erb +1 -0
  36. data/app/views/feeds/show.html.erb +6 -0
  37. data/app/views/parts/_add_extended_feed.html.erb +31 -0
  38. data/app/views/parts/_add_feed.html.erb +20 -0
  39. data/app/views/parts/_add_single_feed.html.erb +21 -0
  40. data/app/views/parts/_select_feed.html.erb +4 -0
  41. data/app/views/raker_mailer/notification_feed_added.text.ar.html.erb +3 -0
  42. data/app/views/raker_mailer/notification_feed_added.text.ar.plain.erb +5 -0
  43. data/app/views/raker_mailer/notification_feed_added.text.bg.html.erb +3 -0
  44. data/app/views/raker_mailer/notification_feed_added.text.bg.plain.erb +5 -0
  45. data/app/views/raker_mailer/notification_feed_added.text.ca.html.erb +3 -0
  46. data/app/views/raker_mailer/notification_feed_added.text.ca.plain.erb +5 -0
  47. data/app/views/raker_mailer/notification_feed_added.text.cs.html.erb +3 -0
  48. data/app/views/raker_mailer/notification_feed_added.text.cs.plain.erb +5 -0
  49. data/app/views/raker_mailer/notification_feed_added.text.da.html.erb +3 -0
  50. data/app/views/raker_mailer/notification_feed_added.text.da.plain.erb +5 -0
  51. data/app/views/raker_mailer/notification_feed_added.text.de.html.erb +3 -0
  52. data/app/views/raker_mailer/notification_feed_added.text.de.plain.erb +5 -0
  53. data/app/views/raker_mailer/notification_feed_added.text.el.html.erb +3 -0
  54. data/app/views/raker_mailer/notification_feed_added.text.el.plain.erb +5 -0
  55. data/app/views/raker_mailer/notification_feed_added.text.es.html.erb +3 -0
  56. data/app/views/raker_mailer/notification_feed_added.text.es.plain.erb +5 -0
  57. data/app/views/raker_mailer/notification_feed_added.text.et.html.erb +3 -0
  58. data/app/views/raker_mailer/notification_feed_added.text.et.plain.erb +5 -0
  59. data/app/views/raker_mailer/notification_feed_added.text.fa.html.erb +3 -0
  60. data/app/views/raker_mailer/notification_feed_added.text.fa.plain.erb +5 -0
  61. data/app/views/raker_mailer/notification_feed_added.text.fi.html.erb +3 -0
  62. data/app/views/raker_mailer/notification_feed_added.text.fi.plain.erb +5 -0
  63. data/app/views/raker_mailer/notification_feed_added.text.fr.html.erb +3 -0
  64. data/app/views/raker_mailer/notification_feed_added.text.fr.plain.erb +5 -0
  65. data/app/views/raker_mailer/notification_feed_added.text.gl.html.erb +3 -0
  66. data/app/views/raker_mailer/notification_feed_added.text.gl.plain.erb +5 -0
  67. data/app/views/raker_mailer/notification_feed_added.text.hi.html.erb +3 -0
  68. data/app/views/raker_mailer/notification_feed_added.text.hi.plain.erb +5 -0
  69. data/app/views/raker_mailer/notification_feed_added.text.hr.html.erb +3 -0
  70. data/app/views/raker_mailer/notification_feed_added.text.hr.plain.erb +5 -0
  71. data/app/views/raker_mailer/notification_feed_added.text.html.erb +3 -0
  72. data/app/views/raker_mailer/notification_feed_added.text.hu.html.erb +3 -0
  73. data/app/views/raker_mailer/notification_feed_added.text.hu.plain.erb +5 -0
  74. data/app/views/raker_mailer/notification_feed_added.text.id.html.erb +3 -0
  75. data/app/views/raker_mailer/notification_feed_added.text.id.plain.erb +5 -0
  76. data/app/views/raker_mailer/notification_feed_added.text.it.html.erb +3 -0
  77. data/app/views/raker_mailer/notification_feed_added.text.it.plain.erb +5 -0
  78. data/app/views/raker_mailer/notification_feed_added.text.iw.html.erb +3 -0
  79. data/app/views/raker_mailer/notification_feed_added.text.iw.plain.erb +5 -0
  80. data/app/views/raker_mailer/notification_feed_added.text.ja.html.erb +3 -0
  81. data/app/views/raker_mailer/notification_feed_added.text.ja.plain.erb +5 -0
  82. data/app/views/raker_mailer/notification_feed_added.text.ko.html.erb +3 -0
  83. data/app/views/raker_mailer/notification_feed_added.text.ko.plain.erb +5 -0
  84. data/app/views/raker_mailer/notification_feed_added.text.lt.html.erb +3 -0
  85. data/app/views/raker_mailer/notification_feed_added.text.lt.plain.erb +5 -0
  86. data/app/views/raker_mailer/notification_feed_added.text.lv.html.erb +3 -0
  87. data/app/views/raker_mailer/notification_feed_added.text.lv.plain.erb +5 -0
  88. data/app/views/raker_mailer/notification_feed_added.text.mt.html.erb +3 -0
  89. data/app/views/raker_mailer/notification_feed_added.text.mt.plain.erb +5 -0
  90. data/app/views/raker_mailer/notification_feed_added.text.nl.html.erb +3 -0
  91. data/app/views/raker_mailer/notification_feed_added.text.nl.plain.erb +5 -0
  92. data/app/views/raker_mailer/notification_feed_added.text.no.html.erb +3 -0
  93. data/app/views/raker_mailer/notification_feed_added.text.no.plain.erb +5 -0
  94. data/app/views/raker_mailer/notification_feed_added.text.pl.html.erb +3 -0
  95. data/app/views/raker_mailer/notification_feed_added.text.pl.plain.erb +5 -0
  96. data/app/views/raker_mailer/notification_feed_added.text.plain.erb +5 -0
  97. data/app/views/raker_mailer/notification_feed_added.text.pt-PT.html.erb +3 -0
  98. data/app/views/raker_mailer/notification_feed_added.text.pt-PT.plain.erb +5 -0
  99. data/app/views/raker_mailer/notification_feed_added.text.ro.html.erb +3 -0
  100. data/app/views/raker_mailer/notification_feed_added.text.ro.plain.erb +5 -0
  101. data/app/views/raker_mailer/notification_feed_added.text.ru.html.erb +3 -0
  102. data/app/views/raker_mailer/notification_feed_added.text.ru.plain.erb +5 -0
  103. data/app/views/raker_mailer/notification_feed_added.text.sk.html.erb +3 -0
  104. data/app/views/raker_mailer/notification_feed_added.text.sk.plain.erb +5 -0
  105. data/app/views/raker_mailer/notification_feed_added.text.sl.html.erb +3 -0
  106. data/app/views/raker_mailer/notification_feed_added.text.sl.plain.erb +5 -0
  107. data/app/views/raker_mailer/notification_feed_added.text.sq.html.erb +3 -0
  108. data/app/views/raker_mailer/notification_feed_added.text.sq.plain.erb +5 -0
  109. data/app/views/raker_mailer/notification_feed_added.text.sr.html.erb +3 -0
  110. data/app/views/raker_mailer/notification_feed_added.text.sr.plain.erb +5 -0
  111. data/app/views/raker_mailer/notification_feed_added.text.sv.html.erb +3 -0
  112. data/app/views/raker_mailer/notification_feed_added.text.sv.plain.erb +5 -0
  113. data/app/views/raker_mailer/notification_feed_added.text.th.html.erb +3 -0
  114. data/app/views/raker_mailer/notification_feed_added.text.th.plain.erb +5 -0
  115. data/app/views/raker_mailer/notification_feed_added.text.tl.html.erb +3 -0
  116. data/app/views/raker_mailer/notification_feed_added.text.tl.plain.erb +5 -0
  117. data/app/views/raker_mailer/notification_feed_added.text.tr.html.erb +3 -0
  118. data/app/views/raker_mailer/notification_feed_added.text.tr.plain.erb +5 -0
  119. data/app/views/raker_mailer/notification_feed_added.text.uk.html.erb +3 -0
  120. data/app/views/raker_mailer/notification_feed_added.text.uk.plain.erb +5 -0
  121. data/app/views/raker_mailer/notification_feed_added.text.vi.html.erb +3 -0
  122. data/app/views/raker_mailer/notification_feed_added.text.vi.plain.erb +5 -0
  123. data/app/views/raker_mailer/notification_feed_added.text.zh-CN.html.erb +3 -0
  124. data/app/views/raker_mailer/notification_feed_added.text.zh-CN.plain.erb +5 -0
  125. data/app/views/raker_mailer/notification_feed_added.text.zh-TW.html.erb +3 -0
  126. data/app/views/raker_mailer/notification_feed_added.text.zh-TW.plain.erb +5 -0
  127. data/app/views/raker_mailer/notification_feed_added.text.zh.html.erb +3 -0
  128. data/app/views/raker_mailer/notification_feed_added.text.zh.plain.erb +5 -0
  129. data/app/views/recommendations/index.xml.builder +4 -4
  130. data/config/muck_raker_routes.rb +10 -13
  131. data/db/migrate/20090623181458_add_grain_size_to_entries.rb +6 -6
  132. data/db/migrate/20090623193525_add_grain_size_to_tag_clouds.rb +12 -0
  133. data/db/migrate/20090717175825_normalize_entries_subjects.rb +1 -0
  134. data/db/migrate/20090721043213_change_services_title_to_name.rb +9 -0
  135. data/db/migrate/20090721054927_remove_services_not_null_from_feeds.rb +9 -0
  136. data/db/migrate/20090723050510_create_feed_parents.rb +17 -0
  137. data/lib/active_record/acts/muck_feed_parent.rb +22 -0
  138. data/lib/muck_raker/muck_custom_form_builder.rb +22 -0
  139. data/lib/muck_raker/services.rb +6 -0
  140. data/lib/muck_raker/tasks.rb +8 -4
  141. data/lib/muck_raker.rb +7 -2
  142. data/locales/ar.yml +48 -15
  143. data/locales/bg.yml +48 -15
  144. data/locales/ca.yml +48 -15
  145. data/locales/cs.yml +48 -15
  146. data/locales/da.yml +48 -15
  147. data/locales/de.yml +48 -15
  148. data/locales/el.yml +48 -15
  149. data/locales/en.yml +46 -17
  150. data/locales/es.yml +48 -15
  151. data/locales/et.yml +48 -15
  152. data/locales/fa.yml +48 -15
  153. data/locales/fi.yml +49 -16
  154. data/locales/fr.yml +48 -15
  155. data/locales/gl.yml +48 -15
  156. data/locales/hi.yml +48 -15
  157. data/locales/hr.yml +48 -15
  158. data/locales/hu.yml +48 -15
  159. data/locales/id.yml +48 -15
  160. data/locales/it.yml +49 -16
  161. data/locales/iw.yml +48 -15
  162. data/locales/ja.yml +48 -15
  163. data/locales/ko.yml +48 -15
  164. data/locales/lt.yml +48 -15
  165. data/locales/lv.yml +48 -15
  166. data/locales/mt.yml +48 -15
  167. data/locales/nl.yml +48 -15
  168. data/locales/no.yml +48 -15
  169. data/locales/pl.yml +48 -15
  170. data/locales/pt-PT.yml +48 -15
  171. data/locales/ro.yml +48 -15
  172. data/locales/ru.yml +48 -15
  173. data/locales/sk.yml +48 -15
  174. data/locales/sl.yml +48 -15
  175. data/locales/sq.yml +48 -15
  176. data/locales/sr.yml +48 -15
  177. data/locales/sv.yml +48 -15
  178. data/locales/th.yml +48 -15
  179. data/locales/tl.yml +48 -15
  180. data/locales/tr.yml +48 -15
  181. data/locales/uk.yml +48 -15
  182. data/locales/vi.yml +48 -15
  183. data/locales/zh-CN.yml +48 -15
  184. data/locales/zh-TW.yml +48 -15
  185. data/locales/zh.yml +48 -15
  186. data/muck-raker.gemspec +298 -26
  187. data/rails/init.rb +0 -9
  188. data/test/rails_root/app/models/user.rb +31 -1
  189. data/test/rails_root/app/views/default/index.html.erb +15 -0
  190. data/test/rails_root/app/views/layouts/default.html.erb +38 -24
  191. data/test/rails_root/app/views/layouts/popup.html.erb +40 -0
  192. data/test/rails_root/config/database.yml +12 -11
  193. data/test/rails_root/config/environment.rb +4 -1
  194. data/test/rails_root/config/global_config.yml +3 -0
  195. data/test/rails_root/db/migrate/20090402234137_create_languages.rb +18 -0
  196. data/test/rails_root/db/migrate/20090426041056_create_countries.rb +15 -0
  197. data/test/rails_root/db/migrate/20090426041103_create_states.rb +18 -0
  198. data/test/rails_root/{migrate → db/migrate}/20090602191243_create_muck_raker.rb +0 -0
  199. data/test/rails_root/{migrate → db/migrate}/20090619211125_create_tag_clouds.rb +0 -0
  200. data/test/rails_root/db/migrate/20090623181458_add_grain_size_to_entries.rb +16 -0
  201. data/test/rails_root/db/migrate/20090623193525_add_grain_size_to_tag_clouds.rb +12 -0
  202. data/test/rails_root/{migrate → db/migrate}/20090703175825_denormalize_entries_subjects.rb +0 -0
  203. data/test/rails_root/db/migrate/20090716035935_change_tag_cloud_grain_sizes.rb +9 -0
  204. data/test/rails_root/db/migrate/20090717175825_normalize_entries_subjects.rb +18 -0
  205. data/test/rails_root/db/migrate/20090721043213_change_services_title_to_name.rb +9 -0
  206. data/test/rails_root/db/migrate/20090721054927_remove_services_not_null_from_feeds.rb +9 -0
  207. data/test/rails_root/db/migrate/20090723050510_create_feed_parents.rb +17 -0
  208. data/test/rails_root/db/schema.rb +289 -54
  209. data/test/rails_root/public/images/fancybox/fancy_closebox.png +0 -0
  210. data/test/rails_root/public/images/fancybox/fancy_left.png +0 -0
  211. data/test/rails_root/public/images/fancybox/fancy_progress.png +0 -0
  212. data/test/rails_root/public/images/fancybox/fancy_right.png +0 -0
  213. data/test/rails_root/public/images/fancybox/fancy_shadow_e.png +0 -0
  214. data/test/rails_root/public/images/fancybox/fancy_shadow_n.png +0 -0
  215. data/test/rails_root/public/images/fancybox/fancy_shadow_ne.png +0 -0
  216. data/test/rails_root/public/images/fancybox/fancy_shadow_nw.png +0 -0
  217. data/test/rails_root/public/images/fancybox/fancy_shadow_s.png +0 -0
  218. data/test/rails_root/public/images/fancybox/fancy_shadow_se.png +0 -0
  219. data/test/rails_root/public/images/fancybox/fancy_shadow_sw.png +0 -0
  220. data/test/rails_root/public/images/fancybox/fancy_shadow_w.png +0 -0
  221. data/test/rails_root/public/images/fancybox/fancy_title_left.png +0 -0
  222. data/test/rails_root/public/images/fancybox/fancy_title_main.png +0 -0
  223. data/test/rails_root/public/images/fancybox/fancy_title_right.png +0 -0
  224. data/test/rails_root/public/javascripts/jquery/jquery.easing.js +1 -0
  225. data/test/rails_root/public/javascripts/jquery/jquery.fancybox.js +9 -0
  226. data/test/rails_root/public/javascripts/muck.js +7 -3
  227. data/test/rails_root/public/stylesheets/application.css +1 -0
  228. data/test/rails_root/public/stylesheets/jquery/jquery.fancybox.css +44 -0
  229. data/test/rails_root/public/stylesheets/styles.css +6 -2
  230. data/test/rails_root/test/factories.rb +14 -1
  231. data/test/rails_root/test/functional/feed_previews_controller_test.rb +32 -0
  232. data/test/rails_root/test/functional/feeds_controller_test.rb +57 -5
  233. data/test/rails_root/test/shoulda_macros/controller.rb +5 -1
  234. data/test/rails_root/test/test_helper.rb +2 -0
  235. data/test/rails_root/test/unit/entry_test.rb +30 -5
  236. data/test/rails_root/test/unit/feed_parent_test.rb +10 -0
  237. data/test/rails_root/test/unit/feed_test.rb +55 -3
  238. data/test/rails_root/test/unit/raker_mailer_test.rb +26 -0
  239. data/test/rails_root/test/unit/tag_cloud_test.rb +16 -28
  240. data/test/rails_root/test/unit/user_test.rb +11 -0
  241. metadata +211 -18
  242. data/app/controllers/recommender/default_controller.rb +0 -15
  243. data/app/controllers/recommender/feeds_controller.rb +0 -64
  244. data/app/views/default/tour.html.erb +0 -15
  245. data/app/views/default/widgets.html.erb +0 -4
  246. data/test/rails_root/migrate/20090623181458_add_grain_size_to_entries.rb +0 -16
@@ -9,85 +9,251 @@
9
9
  #
10
10
  # It's strongly recommended to check this file into your version control system.
11
11
 
12
- ActiveRecord::Schema.define(:version => 20090704220120) do
13
-
14
- create_table "activities", :force => true do |t|
15
- t.integer "item_id"
16
- t.string "item_type"
17
- t.string "template"
18
- t.integer "source_id"
19
- t.string "source_type"
20
- t.text "content"
12
+ ActiveRecord::Schema.define(:version => 20090723050510) do
13
+
14
+ create_table "action_types", :force => true do |t|
15
+ t.string "action_type"
16
+ t.integer "weight"
17
+ end
18
+
19
+ create_table "aggregation_feeds", :force => true do |t|
20
+ t.integer "aggregation_id"
21
+ t.integer "feed_id"
22
+ end
23
+
24
+ add_index "aggregation_feeds", ["aggregation_id"], :name => "index_aggregation_feeds_on_aggregation_id"
25
+ add_index "aggregation_feeds", ["feed_id"], :name => "index_aggregation_feeds_on_feed_id"
26
+
27
+ create_table "aggregations", :force => true do |t|
28
+ t.string "name"
21
29
  t.string "title"
22
- t.boolean "is_status_update", :default => false
23
- t.boolean "is_public", :default => true
30
+ t.text "description"
31
+ t.text "top_tags"
32
+ t.integer "user_id"
24
33
  t.datetime "created_at"
25
34
  t.datetime "updated_at"
26
35
  end
27
36
 
28
- add_index "activities", ["item_id", "item_type"], :name => "index_activities_on_item_id_and_item_type"
37
+ add_index "aggregations", ["user_id"], :name => "index_aggregations_on_user_id"
29
38
 
30
- create_table "activity_feeds", :force => true do |t|
31
- t.integer "activity_id"
32
- t.integer "ownable_id"
33
- t.string "ownable_type"
39
+ create_table "attentions", :force => true do |t|
40
+ t.integer "attentionable_id"
41
+ t.string "attentionable_type"
42
+ t.integer "entry_id"
43
+ t.string "action_type"
44
+ t.float "weight"
34
45
  end
35
46
 
36
- add_index "activity_feeds", ["activity_id"], :name => "index_activity_feeds_on_activity_id"
37
- add_index "activity_feeds", ["ownable_id", "ownable_type"], :name => "index_activity_feeds_on_ownable_id_and_ownable_type"
47
+ create_table "clicks", :force => true do |t|
48
+ t.integer "recommendation_id"
49
+ t.datetime "when", :null => false
50
+ t.string "referrer", :limit => 2083
51
+ t.string "requester"
52
+ t.string "user_agent", :limit => 2083
53
+ end
38
54
 
39
- create_table "content_permissions", :force => true do |t|
40
- t.integer "content_id"
41
- t.integer "user_id"
42
- t.datetime "created_at"
43
- t.datetime "updated_at"
55
+ add_index "clicks", ["recommendation_id"], :name => "index_clicks_on_recommendation_id"
56
+ add_index "clicks", ["referrer"], :name => "index_clicks_on_referrer"
57
+ add_index "clicks", ["requester"], :name => "index_clicks_on_requester"
58
+ add_index "clicks", ["user_agent"], :name => "index_clicks_on_user_agent"
59
+ add_index "clicks", ["when"], :name => "index_clicks_on_when"
60
+
61
+ create_table "countries", :force => true do |t|
62
+ t.string "name", :limit => 128, :default => "", :null => false
63
+ t.string "abbreviation", :limit => 3, :default => "", :null => false
64
+ t.integer "sort", :default => 1000, :null => false
44
65
  end
45
66
 
46
- add_index "content_permissions", ["content_id", "user_id"], :name => "index_content_permissions_on_content_id_and_user_id"
67
+ add_index "countries", ["abbreviation"], :name => "index_countries_on_abbreviation"
68
+ add_index "countries", ["name"], :name => "index_countries_on_name"
47
69
 
48
- create_table "content_translations", :force => true do |t|
49
- t.integer "content_id"
50
- t.string "title"
51
- t.text "body"
52
- t.string "locale"
53
- t.boolean "user_edited"
70
+ create_table "entries", :force => true do |t|
71
+ t.integer "feed_id", :null => false
72
+ t.string "permalink", :limit => 2083, :default => "", :null => false
73
+ t.string "author", :limit => 2083
74
+ t.text "title", :null => false
75
+ t.text "description"
76
+ t.text "content"
77
+ t.boolean "unique_content", :default => false
78
+ t.datetime "published_at", :null => false
79
+ t.datetime "entry_updated_at"
80
+ t.datetime "harvested_at"
81
+ t.string "oai_identifier", :limit => 2083
82
+ t.integer "language_id"
83
+ t.string "direct_link", :limit => 2083
84
+ t.datetime "indexed_at", :default => '1971-01-01 01:01:01', :null => false
85
+ t.datetime "relevance_calculated_at", :default => '1971-01-01 01:01:01', :null => false
86
+ t.text "popular"
87
+ t.text "relevant"
88
+ t.text "other"
89
+ t.string "grain_size", :default => "unknown"
90
+ end
91
+
92
+ add_index "entries", ["direct_link"], :name => "index_entries_on_direct_link"
93
+ add_index "entries", ["feed_id"], :name => "index_entries_on_feed_id"
94
+ add_index "entries", ["grain_size"], :name => "index_entries_on_grain_size"
95
+ add_index "entries", ["indexed_at"], :name => "index_entries_on_indexed_at"
96
+ add_index "entries", ["language_id"], :name => "index_entries_on_language_id"
97
+ add_index "entries", ["oai_identifier"], :name => "index_entries_on_oai_identifier"
98
+ add_index "entries", ["permalink"], :name => "index_entries_on_permalink"
99
+ add_index "entries", ["published_at"], :name => "index_entries_on_published_at"
100
+ add_index "entries", ["relevance_calculated_at"], :name => "index_entries_on_relevance_calculated_at"
101
+
102
+ create_table "entries_subjects", :id => false, :force => true do |t|
103
+ t.integer "subject_id", :default => 0, :null => false
104
+ t.integer "entry_id", :default => 0, :null => false
105
+ t.boolean "autogenerated", :default => false
106
+ end
107
+
108
+ add_index "entries_subjects", ["autogenerated"], :name => "index_entries_subjects_on_autogenerated"
109
+ add_index "entries_subjects", ["entry_id"], :name => "index_entries_subjects_on_entry_id"
110
+ add_index "entries_subjects", ["subject_id"], :name => "index_entries_subjects_on_subject_id"
111
+
112
+ create_table "entries_users", :force => true do |t|
113
+ t.integer "entry_id", :null => false
114
+ t.integer "user_id", :default => 0
115
+ t.boolean "clicked_through", :default => false
54
116
  t.datetime "created_at"
55
- t.datetime "updated_at"
56
117
  end
57
118
 
58
- add_index "content_translations", ["content_id"], :name => "index_content_translations_on_content_id"
59
- add_index "content_translations", ["locale"], :name => "index_content_translations_on_locale"
119
+ add_index "entries_users", ["entry_id", "user_id"], :name => "index_entries_users_on_entry_id_and_user_id"
120
+ add_index "entries_users", ["entry_id"], :name => "index_entries_users_on_entry_id"
121
+ add_index "entries_users", ["user_id"], :name => "index_entries_users_on_user_id"
60
122
 
61
- create_table "contents", :force => true do |t|
62
- t.integer "creator_id"
63
- t.string "title"
64
- t.text "body"
65
- t.string "locale"
66
- t.text "body_raw"
67
- t.integer "contentable_id"
68
- t.string "contentable_type"
69
- t.integer "parent_id"
70
- t.integer "lft"
71
- t.integer "rgt"
72
- t.boolean "is_public"
73
- t.string "state"
123
+ create_table "entry_images", :force => true do |t|
124
+ t.integer "entry_id"
125
+ t.string "uri", :limit => 2083
126
+ t.string "link", :limit => 2083
127
+ t.string "alt"
128
+ t.string "title"
129
+ t.integer "width"
130
+ t.integer "height"
131
+ end
132
+
133
+ add_index "entry_images", ["entry_id"], :name => "index_entry_images_on_entry_id"
134
+
135
+ create_table "feed_parents", :force => true do |t|
136
+ t.integer "feed_id"
137
+ t.integer "ownable_id"
138
+ t.string "ownable_type"
74
139
  t.datetime "created_at"
75
140
  t.datetime "updated_at"
76
141
  end
77
142
 
78
- add_index "contents", ["creator_id"], :name => "index_contents_on_creator_id"
79
- add_index "contents", ["parent_id"], :name => "index_contents_on_parent_id"
143
+ add_index "feed_parents", ["feed_id"], :name => "index_feed_parents_on_feed_id"
144
+ add_index "feed_parents", ["ownable_id", "ownable_type"], :name => "index_feed_parents_on_ownable_id_and_ownable_type"
80
145
 
81
- create_table "friends", :force => true do |t|
82
- t.integer "inviter_id"
83
- t.integer "invited_id"
84
- t.integer "status", :default => 0
146
+ create_table "feeds", :force => true do |t|
147
+ t.string "uri", :limit => 2083
148
+ t.string "display_uri", :limit => 2083
149
+ t.string "title", :limit => 1000
150
+ t.string "short_title", :limit => 100
151
+ t.text "description"
152
+ t.string "tag_filter", :limit => 1000
153
+ t.text "top_tags"
154
+ t.integer "priority", :default => 10
155
+ t.integer "status", :default => 1
156
+ t.datetime "last_requested_at"
157
+ t.datetime "last_harvested_at"
158
+ t.integer "harvest_interval", :default => 86400
159
+ t.integer "failed_requests", :default => 0
160
+ t.text "error_message"
161
+ t.integer "service_id", :default => 0
162
+ t.string "login"
163
+ t.string "password"
85
164
  t.datetime "created_at"
86
165
  t.datetime "updated_at"
166
+ t.datetime "entries_changed_at"
167
+ t.string "harvested_from_display_uri", :limit => 2083
168
+ t.string "harvested_from_title", :limit => 1000
169
+ t.string "harvested_from_short_title", :limit => 100
170
+ t.integer "entries_count"
171
+ t.integer "default_language_id", :default => 0
172
+ t.string "default_grain_size", :default => "unknown"
173
+ t.integer "contributor_id"
87
174
  end
88
175
 
89
- add_index "friends", ["invited_id", "inviter_id"], :name => "index_friends_on_invited_id_and_inviter_id"
90
- add_index "friends", ["inviter_id", "invited_id"], :name => "index_friends_on_inviter_id_and_invited_id"
176
+ add_index "feeds", ["service_id"], :name => "index_feeds_on_service_id"
177
+ add_index "feeds", ["uri"], :name => "index_feeds_on_uri"
178
+
179
+ create_table "languages", :force => true do |t|
180
+ t.string "name"
181
+ t.string "english_name"
182
+ t.string "locale"
183
+ t.boolean "supported", :default => true
184
+ t.integer "is_default", :default => 0
185
+ t.boolean "muck_raker_supported", :default => false
186
+ t.integer "indexed_records", :default => 0
187
+ end
188
+
189
+ add_index "languages", ["locale"], :name => "index_languages_on_locale"
190
+ add_index "languages", ["muck_raker_supported"], :name => "index_languages_on_muck_raker_supported"
191
+ add_index "languages", ["name"], :name => "index_languages_on_name"
192
+
193
+ create_table "micro_concerts", :force => true do |t|
194
+ t.integer "micro_event_id"
195
+ t.string "performer"
196
+ t.string "ticket_url", :limit => 2083
197
+ end
198
+
199
+ add_index "micro_concerts", ["micro_event_id"], :name => "index_micro_concerts_on_micro_event_id"
200
+
201
+ create_table "micro_conferences", :force => true do |t|
202
+ t.integer "micro_event_id"
203
+ t.string "theme"
204
+ t.datetime "register_by"
205
+ t.datetime "submit_by"
206
+ end
207
+
208
+ add_index "micro_conferences", ["micro_event_id"], :name => "index_micro_conferences_on_micro_event_id"
209
+
210
+ create_table "micro_event_links", :force => true do |t|
211
+ t.integer "micro_event_id"
212
+ t.string "uri"
213
+ t.string "title"
214
+ end
215
+
216
+ add_index "micro_event_links", ["micro_event_id"], :name => "index_micro_event_links_on_micro_event_id"
217
+
218
+ create_table "micro_event_people", :force => true do |t|
219
+ t.integer "micro_event_id"
220
+ t.string "name"
221
+ t.string "role"
222
+ t.string "email"
223
+ t.string "link", :limit => 2083
224
+ t.string "phone"
225
+ end
226
+
227
+ add_index "micro_event_people", ["micro_event_id"], :name => "index_micro_event_people_on_micro_event_id"
228
+
229
+ create_table "micro_events", :force => true do |t|
230
+ t.integer "entry_id", :null => false
231
+ t.string "name", :null => false
232
+ t.text "description"
233
+ t.string "price"
234
+ t.text "image"
235
+ t.text "address"
236
+ t.text "subaddress"
237
+ t.string "city"
238
+ t.string "state"
239
+ t.string "postcode"
240
+ t.string "country"
241
+ t.datetime "begins", :null => false
242
+ t.datetime "ends"
243
+ t.text "tags"
244
+ t.string "duration"
245
+ t.text "location"
246
+ end
247
+
248
+ add_index "micro_events", ["entry_id"], :name => "index_micro_events_on_entry_id"
249
+
250
+ create_table "oai_endpoints", :force => true do |t|
251
+ t.string "uri", :limit => 2083
252
+ t.string "display_uri", :limit => 2083
253
+ t.string "metadata_prefix"
254
+ t.string "title", :limit => 1000
255
+ t.string "short_title", :limit => 100
256
+ end
91
257
 
92
258
  create_table "permissions", :force => true do |t|
93
259
  t.integer "role_id", :null => false
@@ -96,12 +262,48 @@ ActiveRecord::Schema.define(:version => 20090704220120) do
96
262
  t.datetime "updated_at"
97
263
  end
98
264
 
265
+ create_table "personal_recommendations", :force => true do |t|
266
+ t.integer "personal_recommendable_id"
267
+ t.string "personal_recommendable_type"
268
+ t.integer "destination_id"
269
+ t.string "destination_type"
270
+ t.integer "rank"
271
+ t.float "relevance"
272
+ end
273
+
274
+ create_table "queries", :force => true do |t|
275
+ t.text "name"
276
+ t.integer "frequency"
277
+ end
278
+
279
+ create_table "recommendations", :force => true do |t|
280
+ t.integer "entry_id"
281
+ t.integer "dest_entry_id"
282
+ t.integer "rank"
283
+ t.decimal "relevance", :precision => 8, :scale => 6, :default => 0.0
284
+ t.integer "clicks", :default => 0
285
+ t.integer "avg_time_at_dest", :default => 60
286
+ end
287
+
288
+ add_index "recommendations", ["dest_entry_id"], :name => "index_recommendations_on_dest_entry_id"
289
+ add_index "recommendations", ["entry_id"], :name => "index_recommendations_on_entry_id"
290
+
99
291
  create_table "roles", :force => true do |t|
100
292
  t.string "rolename"
101
293
  t.datetime "created_at"
102
294
  t.datetime "updated_at"
103
295
  end
104
296
 
297
+ create_table "services", :force => true do |t|
298
+ t.string "uri", :limit => 2083, :default => ""
299
+ t.string "name", :limit => 1000, :default => ""
300
+ t.string "api_uri", :limit => 2083, :default => ""
301
+ t.string "uri_template", :limit => 2083, :default => ""
302
+ t.string "icon", :limit => 2083, :default => "rss.gif"
303
+ t.integer "sequence"
304
+ t.boolean "requires_password", :default => false
305
+ end
306
+
105
307
  create_table "slugs", :force => true do |t|
106
308
  t.string "name"
107
309
  t.integer "sluggable_id"
@@ -114,6 +316,29 @@ ActiveRecord::Schema.define(:version => 20090704220120) do
114
316
  add_index "slugs", ["name", "sluggable_type", "scope", "sequence"], :name => "index_slugs_on_name_and_sluggable_type_and_scope_and_sequence", :unique => true
115
317
  add_index "slugs", ["sluggable_id"], :name => "index_slugs_on_sluggable_id"
116
318
 
319
+ create_table "states", :force => true do |t|
320
+ t.string "name", :limit => 128, :default => "", :null => false
321
+ t.string "abbreviation", :limit => 3, :default => "", :null => false
322
+ t.integer "country_id", :limit => 8, :null => false
323
+ end
324
+
325
+ add_index "states", ["abbreviation"], :name => "index_states_on_abbreviation"
326
+ add_index "states", ["country_id"], :name => "index_states_on_country_id"
327
+ add_index "states", ["name"], :name => "index_states_on_name"
328
+
329
+ create_table "subjects", :force => true do |t|
330
+ t.string "name"
331
+ end
332
+
333
+ create_table "tag_clouds", :force => true do |t|
334
+ t.integer "language_id"
335
+ t.string "filter"
336
+ t.string "tag_list", :limit => 5000
337
+ t.string "grain_size", :default => "all"
338
+ end
339
+
340
+ add_index "tag_clouds", ["grain_size", "language_id", "filter"], :name => "index_tag_clouds_on_grain_size_and_language_id_and_filter", :unique => true
341
+
117
342
  create_table "taggings", :force => true do |t|
118
343
  t.integer "tag_id"
119
344
  t.integer "taggable_id"
@@ -163,4 +388,14 @@ ActiveRecord::Schema.define(:version => 20090704220120) do
163
388
  add_index "users", ["persistence_token"], :name => "index_users_on_persistence_token"
164
389
  add_index "users", ["single_access_token"], :name => "index_users_on_single_access_token"
165
390
 
391
+ create_table "watched_pages", :force => true do |t|
392
+ t.integer "entry_id"
393
+ t.datetime "harvested_at"
394
+ t.boolean "has_microformats", :default => false
395
+ t.datetime "created_at"
396
+ t.datetime "updated_at"
397
+ end
398
+
399
+ add_index "watched_pages", ["entry_id"], :name => "index_watched_pages_on_entry_id"
400
+
166
401
  end
@@ -0,0 +1 @@
1
+ jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d)},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b}});
@@ -0,0 +1,9 @@
1
+ /*
2
+ * FancyBox - simple and fancy jQuery plugin
3
+ * Examples and documentation at: http://fancy.klade.lv/
4
+ * Version: 1.2.1 (13/03/2009)
5
+ * Copyright (c) 2009 Janis Skarnelis
6
+ * Licensed under the MIT License: http://en.wikipedia.org/wiki/MIT_License
7
+ * Requires: jQuery v1.3+
8
+ */
9
+ eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}(';(7($){$.b.2Q=7(){u B.2t(7(){9 1J=$(B).n(\'2Z\');5(1J.1c(/^3w\\(["\']?(.*\\.2p)["\']?\\)$/i)){1J=3t.$1;$(B).n({\'2Z\':\'45\',\'2o\':"3W:3R.4m.4d(3h=F, 3T="+($(B).n(\'41\')==\'2J-3Z\'?\'4c\':\'3N\')+", Q=\'"+1J+"\')"}).2t(7(){9 1b=$(B).n(\'1b\');5(1b!=\'2e\'&&1b!=\'2n\')$(B).n(\'1b\',\'2n\')})}})};9 A,4,16=D,s=1t 1o,1w,1v=1,1y=/\\.(3A|3Y|2p|3c|3d)(.*)?$/i;9 P=($.2q.3K&&2f($.2q.3z.2k(0,1))<8);$.b.c=7(Y){Y=$.3x({},$.b.c.2R,Y);9 2s=B;7 2h(){A=B;4=Y;2r();u D};7 2r(){5(16)u;5($.1O(4.2c)){4.2c()}4.j=[];4.h=0;5(Y.j.N>0){4.j=Y.j}t{9 O={};5(!A.1H||A.1H==\'\'){9 O={d:A.d,X:A.X};5($(A).1G("1m:1D").N){O.1a=$(A).1G("1m:1D")}4.j.2j(O)}t{9 Z=$(2s).2o("a[1H="+A.1H+"]");9 O={};3C(9 i=0;i<Z.N;i++){O={d:Z[i].d,X:Z[i].X};5($(Z[i]).1G("1m:1D").N){O.1a=$(Z[i]).1G("1m:1D")}4.j.2j(O)}3F(4.j[4.h].d!=A.d){4.h++}}}5(4.23){5(P){$(\'1U, 1Q, 1P\').n(\'1S\',\'3s\')}$("#1i").n(\'25\',4.2U).J()}1d()};7 1d(){$("#1f, #1e, #V, #G").S();9 d=4.j[4.h].d;5(d.1c(/#/)){9 U=11.3r.d.3f(\'#\')[0];U=d.3g(U,\'\');U=U.2k(U.2l(\'#\'));1k(\'<6 l="3e">\'+$(U).o()+\'</6>\',4.1I,4.1x)}t 5(d.1c(1y)){s=1t 1o;s.Q=d;5(s.3a){1K()}t{$.b.c.34();$(s).x().14(\'3b\',7(){$(".I").S();1K()})}}t 5(d.1c("17")||A.3j.2l("17")>=0){1k(\'<17 l="35" 3q="$.b.c.38()" 3o="3n\'+C.T(C.3l()*3m)+\'" 2K="0" 3E="0" Q="\'+d+\'"></17>\',4.1I,4.1x)}t{$.4p(d,7(2m){1k(\'<6 l="3L">\'+2m+\'</6>\',4.1I,4.1x)})}};7 1K(){5(4.30){9 w=$.b.c.1n();9 r=C.1M(C.1M(w[0]-36,s.g)/s.g,C.1M(w[1]-4b,s.f)/s.f);9 g=C.T(r*s.g);9 f=C.T(r*s.f)}t{9 g=s.g;9 f=s.f}1k(\'<1m 48="" l="49" Q="\'+s.Q+\'" />\',g,f)};7 2F(){5((4.j.N-1)>4.h){9 d=4.j[4.h+1].d;5(d.1c(1y)){1A=1t 1o();1A.Q=d}}5(4.h>0){9 d=4.j[4.h-1].d;5(d.1c(1y)){1A=1t 1o();1A.Q=d}}};7 1k(1j,g,f){16=F;9 L=4.2Y;5(P){$("#q")[0].1E.2u("f");$("#q")[0].1E.2u("g")}5(L>0){g+=L*2;f+=L*2;$("#q").n({\'v\':L+\'z\',\'2E\':L+\'z\',\'2i\':L+\'z\',\'y\':L+\'z\',\'g\':\'2B\',\'f\':\'2B\'});5(P){$("#q")[0].1E.2C(\'f\',\'(B.2D.4j - 20)\');$("#q")[0].1E.2C(\'g\',\'(B.2D.3S - 20)\')}}t{$("#q").n({\'v\':0,\'2E\':0,\'2i\':0,\'y\':0,\'g\':\'2z%\',\'f\':\'2z%\'})}5($("#k").1u(":19")&&g==$("#k").g()&&f==$("#k").f()){$("#q").1Z("2N",7(){$("#q").1C().1F($(1j)).21("1s",7(){1g()})});u}9 w=$.b.c.1n();9 2v=(g+36)>w[0]?w[2]:(w[2]+C.T((w[0]-g-36)/2));9 2w=(f+1z)>w[1]?w[3]:(w[3]+C.T((w[1]-f-1z)/2));9 K={\'y\':2v,\'v\':2w,\'g\':g+\'z\',\'f\':f+\'z\'};5($("#k").1u(":19")){$("#q").1Z("1s",7(){$("#q").1C();$("#k").24(K,4.2X,4.2T,7(){$("#q").1F($(1j)).21("1s",7(){1g()})})})}t{5(4.1W>0&&4.j[4.h].1a!==1L){$("#q").1C().1F($(1j));9 M=4.j[4.h].1a;9 15=$.b.c.1R(M);$("#k").n({\'y\':(15.y-18)+\'z\',\'v\':(15.v-18)+\'z\',\'g\':$(M).g(),\'f\':$(M).f()});5(4.1X){K.25=\'J\'}$("#k").24(K,4.1W,4.2W,7(){1g()})}t{$("#q").S().1C().1F($(1j)).J();$("#k").n(K).21("1s",7(){1g()})}}};7 2y(){5(4.h!=0){$("#1e, #2O").x().14("R",7(e){e.2x();4.h--;1d();u D});$("#1e").J()}5(4.h!=(4.j.N-1)){$("#1f, #2M").x().14("R",7(e){e.2x();4.h++;1d();u D});$("#1f").J()}};7 1g(){2y();2F();$(W).1B(7(e){5(e.29==27){$.b.c.1l();$(W).x("1B")}t 5(e.29==37&&4.h!=0){4.h--;1d();$(W).x("1B")}t 5(e.29==39&&4.h!=(4.j.N-1)){4.h++;1d();$(W).x("1B")}});5(4.1r){$(11).14("1N 1T",$.b.c.2g)}t{$("6#k").n("1b","2e")}5(4.2b){$("#22").R($.b.c.1l)}$("#1i, #V").14("R",$.b.c.1l);$("#V").J();5(4.j[4.h].X!==1L&&4.j[4.h].X.N>0){$(\'#G 6\').o(4.j[4.h].X);$(\'#G\').J()}5(4.23&&P){$(\'1U, 1Q, 1P\',$(\'#q\')).n(\'1S\',\'19\')}5($.1O(4.2a)){4.2a()}16=D};u B.x(\'R\').R(2h)};$.b.c.2g=7(){9 m=$.b.c.1n();$("#k").n(\'y\',(($("#k").g()+36)>m[0]?m[2]:m[2]+C.T((m[0]-$("#k").g()-36)/2)));$("#k").n(\'v\',(($("#k").f()+1z)>m[1]?m[3]:m[3]+C.T((m[1]-$("#k").f()-1z)/2)))};$.b.c.1h=7(H,2A){u 2f($.3I(H.3u?H[0]:H,2A,F))||0};$.b.c.1R=7(H){9 m=H.4g();m.v+=$.b.c.1h(H,\'3k\');m.v+=$.b.c.1h(H,\'3J\');m.y+=$.b.c.1h(H,\'3H\');m.y+=$.b.c.1h(H,\'3D\');u m};$.b.c.38=7(){$(".I").S();$("#35").J()};$.b.c.1n=7(){u[$(11).g(),$(11).f(),$(W).3i(),$(W).3p()]};$.b.c.2G=7(){5(!$("#I").1u(\':19\')){33(1w);u}$("#I > 6").n(\'v\',(1v*-40)+\'z\');1v=(1v+1)%12};$.b.c.34=7(){33(1w);9 m=$.b.c.1n();$("#I").n({\'y\':((m[0]-40)/2+m[2]),\'v\':((m[1]-40)/2+m[3])}).J();$("#I").14(\'R\',$.b.c.1l);1w=3Q($.b.c.2G,3X)};$.b.c.1l=7(){16=F;$(s).x();$("#1i, #V").x();5(4.2b){$("#22").x()}$("#V, .I, #1e, #1f, #G").S();5(4.1r){$(11).x("1N 1T")}1q=7(){$("#1i, #k").S();5(4.1r){$(11).x("1N 1T")}5(P){$(\'1U, 1Q, 1P\').n(\'1S\',\'19\')}5($.1O(4.1V)){4.1V()}16=D};5($("#k").1u(":19")!==D){5(4.26>0&&4.j[4.h].1a!==1L){9 M=4.j[4.h].1a;9 15=$.b.c.1R(M);9 K={\'y\':(15.y-18)+\'z\',\'v\':(15.v-18)+\'z\',\'g\':$(M).g(),\'f\':$(M).f()};5(4.1X){K.25=\'S\'}$("#k").31(D,F).24(K,4.26,4.2S,1q)}t{$("#k").31(D,F).1Z("2N",1q)}}t{1q()}u D};$.b.c.2V=7(){9 o=\'\';o+=\'<6 l="1i"></6>\';o+=\'<6 l="22">\';o+=\'<6 p="I" l="I"><6></6></6>\';o+=\'<6 l="k">\';o+=\'<6 l="2I">\';o+=\'<6 l="V"></6>\';o+=\'<6 l="E"><6 p="E 44"></6><6 p="E 43"></6><6 p="E 42"></6><6 p="E 3V"></6><6 p="E 3U"></6><6 p="E 3O"></6><6 p="E 3M"></6><6 p="E 3P"></6></6>\';o+=\'<a d="2P:;" l="1e"><1p p="1Y" l="2O"></1p></a><a d="2P:;" l="1f"><1p p="1Y" l="2M"></1p></a>\';o+=\'<6 l="q"></6>\';o+=\'<6 l="G"></6>\';o+=\'</6>\';o+=\'</6>\';o+=\'</6>\';$(o).2H("46");$(\'<32 4i="0" 4h="0" 4k="0"><2L><13 p="G" l="4l"></13><13 p="G" l="4o"><6></6></13><13 p="G" l="4n"></13></2L></32>\').2H(\'#G\');5(P){$("#2I").47(\'<17 p="4a" 4e="2J" 2K="0"></17>\');$("#V, .E, .G, .1Y").2Q()}};$.b.c.2R={2Y:10,30:F,1X:D,1W:0,26:0,2X:3G,2W:\'28\',2S:\'28\',2T:\'28\',1I:3B,1x:3v,23:F,2U:0.3,2b:F,1r:F,j:[],2c:2d,2a:2d,1V:2d};$(W).3y(7(){$.b.c.2V()})})(4f);',62,274,'||||opts|if|div|function||var||fn|fancybox|href||height|width|itemCurrent||itemArray|fancy_outer|id|pos|css|html|class|fancy_content||imagePreloader|else|return|top||unbind|left|px|elem|this|Math|false|fancy_bg|true|fancy_title|el|fancy_loading|show|itemOpts|pad|orig_item|length|item|isIE|src|click|hide|round|target|fancy_close|document|title|settings|subGroup||window||td|bind|orig_pos|busy|iframe||visible|orig|position|match|_change_item|fancy_left|fancy_right|_finish|getNumeric|fancy_overlay|value|_set_content|close|img|getViewport|Image|span|__cleanup|centerOnScroll|normal|new|is|loadingFrame|loadingTimer|frameHeight|imageRegExp|50|objNext|keydown|empty|first|style|append|children|rel|frameWidth|image|_proceed_image|undefined|min|resize|isFunction|select|object|getPosition|visibility|scroll|embed|callbackOnClose|zoomSpeedIn|zoomOpacity|fancy_ico|fadeOut||fadeIn|fancy_wrap|overlayShow|animate|opacity|zoomSpeedOut||swing|keyCode|callbackOnShow|hideOnContentClick|callbackOnStart|null|absolute|parseInt|scrollBox|_initialize|bottom|push|substr|indexOf|data|relative|filter|png|browser|_start|matchedGroup|each|removeExpression|itemLeft|itemTop|stopPropagation|_set_navigation|100|prop|auto|setExpression|parentNode|right|_preload_neighbor_images|animateLoading|appendTo|fancy_inner|no|frameborder|tr|fancy_right_ico|fast|fancy_left_ico|javascript|fixPNG|defaults|easingOut|easingChange|overlayOpacity|build|easingIn|zoomSpeedChange|padding|backgroundImage|imageScale|stop|table|clearInterval|showLoading|fancy_frame|||showIframe||complete|load|bmp|jpeg|fancy_div|split|replace|enabled|scrollLeft|className|paddingTop|random|1000|fancy_iframe|name|scrollTop|onload|location|hidden|RegExp|jquery|355|url|extend|ready|version|jpg|425|for|borderLeftWidth|hspace|while|300|paddingLeft|curCSS|borderTopWidth|msie|fancy_ajax|fancy_bg_w|scale|fancy_bg_sw|fancy_bg_nw|setInterval|DXImageTransform|clientWidth|sizingMethod|fancy_bg_s|fancy_bg_se|progid|66|gif|repeat||backgroundRepeat|fancy_bg_e|fancy_bg_ne|fancy_bg_n|none|body|prepend|alt|fancy_img|fancy_bigIframe|60|crop|AlphaImageLoader|scrolling|jQuery|offset|cellpadding|cellspacing|clientHeight|border|fancy_title_left|Microsoft|fancy_title_right|fancy_title_main|get'.split('|'),0,{}))
@@ -1,9 +1,13 @@
1
1
  //jQuery.noConflict();
2
-
3
2
  jQuery(document).ajaxSend(function(event, request, settings) {
4
- if (typeof(AUTH_TOKEN) == "undefined") return;
3
+ request.setRequestHeader("Accept", "text/javascript");
4
+ request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
5
+
6
+ if (settings.type.toUpperCase() == 'GET' || typeof(AUTH_TOKEN) == "undefined") return; // for details see: http://www.justinball.com/2009/07/08/jquery-ajax-get-in-firefox-post-in-internet-explorer/
7
+ // settings.data is a serialized string like "foo=bar&baz=boink" (or null)
5
8
  settings.data = settings.data || "";
6
- settings.data += (settings.data ? "&" : "") + "authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
9
+ if (typeof(AUTH_TOKEN) != "undefined")
10
+ settings.data += (settings.data ? "&" : "") + "authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
7
11
  });
8
12
 
9
13
  function setup_submit_delete(){
@@ -0,0 +1 @@
1
+ #fancy_outer{width:80%;height:80%;margin:auto auto;}
@@ -0,0 +1,44 @@
1
+ html,body{height:100%;}
2
+ div#fancy_overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#666;display:none;z-index:30;}
3
+ * html div#fancy_overlay{position:absolute;height:expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight :document.body.offsetHeight + 'px');}
4
+ div#fancy_wrap{text-align:left;}
5
+ div#fancy_loading{position:absolute;height:40px;width:40px;cursor:pointer;display:none;overflow:hidden;background:transparent;z-index:100;}
6
+ div#fancy_loading div{position:absolute;top:0;left:0;width:40px;height:480px;background:transparent url('/images/fancybox/fancy_progress.png') no-repeat;}
7
+ div#fancy_loading_overlay{position:absolute;background-color:#FFF;z-index:30;}
8
+ div#fancy_loading_icon{position:absolute;background:url('/images/fancybox/fancy_loading.gif') no-repeat;z-index:35;width:16px;height:16px;}
9
+ div#fancy_outer{position:absolute;top:0;left:0;z-index:90;padding:18px 18px 33px 18px;margin:0;overflow:hidden;background:transparent;display:none;}
10
+ div#fancy_inner{position:relative;width:100%;height:100%;border:1px solid #BBB;background:#FFF;}
11
+ div#fancy_content{margin:0;z-index:100;position:absolute;}
12
+ div#fancy_div{background:#000;color:#FFF;height:100%;width:100%;z-index:100;}
13
+ img#fancy_img{position:absolute;top:0;left:0;border:0;padding:0;margin:0;z-index:100;width:100%;height:100%;}
14
+ div#fancy_close{position:absolute;top:-12px;right:-15px;height:30px;width:30px;background:url('/images/fancybox/fancy_closebox.png') top left no-repeat;cursor:pointer;z-index:181;display:none;}
15
+ #fancy_frame{position:relative;width:100%;height:100%;display:none;}
16
+ #fancy_ajax{width:100%;height:100%;overflow:auto;}
17
+ a#fancy_left,a#fancy_right{position:absolute;bottom:0px;height:100%;width:35%;cursor:pointer;z-index:111;display:none;background-image:url(data:image/gif;base64,AAAA);outline:none;}
18
+ a#fancy_left{left:0px;}
19
+ a#fancy_right{right:0px;}
20
+ span.fancy_ico{position:absolute;top:50%;margin-top:-15px;width:30px;height:30px;z-index:112;cursor:pointer;display:block;}
21
+ span#fancy_left_ico{left:-9999px;background:transparent url('/images/fancybox/fancy_left.png') no-repeat;}
22
+ span#fancy_right_ico{right:-9999px;background:transparent url('/images/fancybox/fancy_right.png') no-repeat;}
23
+ a#fancy_left:hover{visibility:visible;}
24
+ a#fancy_right:hover{visibility:visible;}
25
+ a#fancy_left:hover span{left:20px;}
26
+ a#fancy_right:hover span{right:20px;}
27
+ .fancy_bigIframe{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;}
28
+ div#fancy_bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:70;border:0;padding:0;margin:0;}
29
+ div.fancy_bg{position:absolute;display:block;z-index:70;border:0;padding:0;margin:0;}
30
+ div.fancy_bg_n{top:-18px;width:100%;height:18px;background:transparent url('/images/fancybox/fancy_shadow_n.png') repeat-x;}
31
+ div.fancy_bg_ne{top:-18px;right:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_ne.png') no-repeat;}
32
+ div.fancy_bg_e{right:-13px;height:100%;width:13px;background:transparent url('/images/fancybox/fancy_shadow_e.png') repeat-y;}
33
+ div.fancy_bg_se{bottom:-18px;right:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_se.png') no-repeat;}
34
+ div.fancy_bg_s{bottom:-18px;width:100%;height:18px;background:transparent url('/images/fancybox/fancy_shadow_s.png') repeat-x;}
35
+ div.fancy_bg_sw{bottom:-18px;left:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_sw.png') no-repeat;}
36
+ div.fancy_bg_w{left:-13px;height:100%;width:13px;background:transparent url('/images/fancybox/fancy_shadow_w.png') repeat-y;}
37
+ div.fancy_bg_nw{top:-18px;left:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_nw.png') no-repeat;}
38
+ div#fancy_title{position:absolute;bottom:-33px;left:0;width:100%;z-index:100;display:none;}
39
+ div#fancy_title div{color:#FFF;font:bold 12px Arial;padding-bottom:3px;}
40
+ div#fancy_title table{margin:0 auto;}
41
+ div#fancy_title table td{padding:0;vertical-align:middle;}
42
+ td#fancy_title_left{height:32px;width:15px;background:transparent url(fancy_title_left.png) repeat-x;}
43
+ td#fancy_title_main{height:32px;background:transparent url(fancy_title_main.png) repeat-x;}
44
+ td#fancy_title_right{height:32px;width:15px;background:transparent url(fancy_title_right.png) repeat-x;}
@@ -1,3 +1,6 @@
1
+ /* general */
2
+ .center{text-align:center;}
3
+
1
4
  /* forms */
2
5
  input{margin:0 10px 5px 0;padding:4px;font-size:1.3em;}
3
6
  input[type="text"],input[type="password"]{border:1px solid #8f8685;}
@@ -12,7 +15,8 @@ fieldset{border:none;margin:0;padding:0;}
12
15
  form fieldset{margin:0 0 2px;padding:0px;}
13
16
  form fieldset input[type="text"],form fieldset input[type="password"]{width:500px;}
14
17
  .common-form{width:500px;margin:40px auto;}
15
- .common-form h1{font-size:1.8em;}
18
+ .wide-form h1, .common-form h1{font-size:1.8em;}
19
+ .wide-form{width:700px;margin:40px auto;}
16
20
  .form-item{float:left;}
17
21
  .common-content{width:500px;margin:40px auto;font-size:1.2em;color:#555;}
18
22
  .button-link {background-color:transparent;border-top-width: 0px;border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;}
@@ -23,7 +27,7 @@ form fieldset input[type="text"],form fieldset input[type="password"]{width:500p
23
27
  .medium{width:300px;height:300px;}
24
28
 
25
29
  /* tips */
26
- .availability{color:#b61e12;}
30
+ .availability{color:#b61e12;position:absolute;}
27
31
  .hidden-tips{display:none;}
28
32
  .required-tip{color:#555555;font-size:1.2em;margin:0pt;font-weight:bolder;height:0px;}
29
33
  .tip{position:absolute;z-index:100;border:2px solid #CCCCCC;background-color:#fff;width:400px;}
@@ -43,7 +43,7 @@ end
43
43
 
44
44
  Factory.define :language do |f|
45
45
  f.name { Factory.next(:name) }
46
- f.english_name { Factory.next(:english_name) }
46
+ f.english_name { Factory.next(:name) }
47
47
  f.locale { Factory.next(:locale) }
48
48
  f.supported true
49
49
  f.muck_raker_supported true
@@ -92,5 +92,18 @@ Factory.define :feed do |f|
92
92
  end
93
93
 
94
94
  Factory.define :entry do |f|
95
+ f.feed { |a| a.association(:feed) }
96
+ f.permalink { Factory.next(:uri) }
97
+ f.author { Factory.next(:name) }
98
+ f.title { Factory.next(:title) }
99
+ f.description { Factory.next(:description) }
100
+ f.content { Factory.next(:description) }
101
+ f.unique_content { Factory.next(:description) }
102
+ f.published_at DateTime.now
103
+ f.entry_updated_at DateTime.now
104
+ f.harvested_at DateTime.now
105
+ f.language { |a| a.association(:language) }
106
+ f.direct_link { Factory.next(:uri) }
107
+ f.grain_size 'unknown'
95
108
  end
96
109
 
@@ -0,0 +1,32 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class Muck::FeedPreviewsControllerTest < ActionController::TestCase
4
+
5
+ tests Muck::FeedPreviewsController
6
+
7
+ context "feed previews controller" do
8
+
9
+ context "GET new" do
10
+ setup do
11
+ get :new
12
+ end
13
+ should_not_set_the_flash
14
+ should_respond_with :success
15
+ should_render_template :new
16
+ end
17
+
18
+ context "POST to select_feeds" do
19
+ setup do
20
+ post :select_feeds, :feed => { :uri => TEST_RSS_URI }
21
+ end
22
+ should_not_set_the_flash
23
+ should_respond_with :success
24
+ should_render_template :select_feeds
25
+ should "return feeds for the given uri" do
26
+ assert assigns(:feeds).length > 0
27
+ end
28
+ end
29
+
30
+ end
31
+
32
+ end