logilogi-svn Mailing List for LogiLogi - Software Libre for the Web (Page 58)
Status: Beta
Brought to you by:
wybow
You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
(7) |
Apr
(18) |
May
(59) |
Jun
(73) |
Jul
(31) |
Aug
(19) |
Sep
(18) |
Oct
(31) |
Nov
(9) |
Dec
(15) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(30) |
Feb
(62) |
Mar
(70) |
Apr
(75) |
May
(139) |
Jun
(85) |
Jul
(28) |
Aug
(33) |
Sep
(145) |
Oct
(45) |
Nov
(76) |
Dec
(48) |
| 2009 |
Jan
(12) |
Feb
(39) |
Mar
(5) |
Apr
(6) |
May
(23) |
Jun
(44) |
Jul
(17) |
Aug
(15) |
Sep
(49) |
Oct
(28) |
Nov
(14) |
Dec
(6) |
| 2010 |
Jan
(22) |
Feb
(24) |
Mar
(14) |
Apr
(3) |
May
(2) |
Jun
(30) |
Jul
(9) |
Aug
(9) |
Sep
(10) |
Oct
(1) |
Nov
|
Dec
(1) |
| 2011 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <wy...@us...> - 2007-05-29 22:08:20
|
Revision: 328
http://logilogi.svn.sourceforge.net/logilogi/?rev=328&view=rev
Author: wybow
Date: 2007-05-29 15:08:18 -0700 (Tue, 29 May 2007)
Log Message:
-----------
Fixed a bug that caused nil.method errors when saving new logi's.
Modified Paths:
--------------
trunk/app/controllers/logi_controller.rb
Modified: trunk/app/controllers/logi_controller.rb
===================================================================
--- trunk/app/controllers/logi_controller.rb 2007-05-28 00:07:20 UTC (rev 327)
+++ trunk/app/controllers/logi_controller.rb 2007-05-29 22:08:18 UTC (rev 328)
@@ -83,7 +83,8 @@
@additional_tabs_body = ''
else
actions = [['View',{:action => :show}]]
- if Context.current.link.volatile_to_logi.edit_rights?(User.current)
+ if Context.current.link.volatile_to_logi and
+ Context.current.link.volatile_to_logi.edit_rights?(User.current)
actions << ['Edit',{:action => :edit}]
end
actions.concat [['New',{:action => :new, :step => -1}],
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-28 00:07:23
|
Revision: 327
http://logilogi.svn.sourceforge.net/logilogi/?rev=327&view=rev
Author: wybow
Date: 2007-05-27 17:07:20 -0700 (Sun, 27 May 2007)
Log Message:
-----------
Fixed the 3-tags bug found by Bruno.
Modified Paths:
--------------
projects/ogog/trunk/app/models/tagging.rb
projects/ogog/trunk/db/schema.rb
projects/ogog/trunk/test/fixtures/feeds.yml
projects/ogog/trunk/test/fixtures/posts.yml
projects/ogog/trunk/test/fixtures/taggings.yml
projects/ogog/trunk/test/fixtures/tags.yml
projects/ogog/trunk/test/unit/link_test.rb
projects/ogog/trunk/test/unit/tagging_test.rb
Modified: projects/ogog/trunk/app/models/tagging.rb
===================================================================
--- projects/ogog/trunk/app/models/tagging.rb 2007-05-27 21:15:16 UTC (rev 326)
+++ projects/ogog/trunk/app/models/tagging.rb 2007-05-28 00:07:20 UTC (rev 327)
@@ -67,7 +67,7 @@
# Returns true if there exists any post for the given tags
#
def self.any_posts_for?(existing_tags)
- return Tagging.count_posts_for(existing_tags).size > 0
+ return Tagging.count_posts_for(existing_tags) > 0
end
# Counts the posts for the given tags + options.
Modified: projects/ogog/trunk/db/schema.rb
===================================================================
--- projects/ogog/trunk/db/schema.rb 2007-05-27 21:15:16 UTC (rev 326)
+++ projects/ogog/trunk/db/schema.rb 2007-05-28 00:07:20 UTC (rev 327)
@@ -7,9 +7,9 @@
create_table "feeds", :force => true do |t|
t.column "user_id", :integer
t.column "title", :string, :limit => 300
- t.column "url", :string, :default => "", :null => false
- t.column "tags_string", :string
- t.column "site_url", :string
+ t.column "url", :string, :limit => 300, :default => "", :null => false
+ t.column "tags_string", :string, :limit => 300
+ t.column "site_url", :string, :limit => 300
t.column "status", :integer, :default => 0, :null => false
t.column "harvested_publication_time", :datetime
end
@@ -24,12 +24,12 @@
end
create_table "posts", :force => true do |t|
- t.column "feed_id", :integer, :null => false
- t.column "title", :string, :limit => 1000, :default => "", :null => false
- t.column "snippet", :string, :default => "", :null => false
- t.column "body", :text, :default => "", :null => false
- t.column "url", :string, :default => "", :null => false
- t.column "published_at", :datetime, :null => false
+ t.column "feed_id", :integer, :null => false
+ t.column "title", :string, :limit => 300, :default => "", :null => false
+ t.column "snippet", :string, :limit => 300, :default => "", :null => false
+ t.column "body", :text, :default => "", :null => false
+ t.column "url", :string, :limit => 300, :default => "", :null => false
+ t.column "published_at", :datetime, :null => false
end
create_table "taggings", :force => true do |t|
Modified: projects/ogog/trunk/test/fixtures/feeds.yml
===================================================================
--- projects/ogog/trunk/test/fixtures/feeds.yml 2007-05-27 21:15:16 UTC (rev 326)
+++ projects/ogog/trunk/test/fixtures/feeds.yml 2007-05-28 00:07:20 UTC (rev 327)
@@ -27,3 +27,10 @@
url: 'http://localhost:3000/pub/test/lama/feed/feed.atom'
site_url: 'http://localhost:3000/pub/test/lama/badgedindex.html'
harvested_publication_time: nil
+ufos:
+ id: 5
+ title: 'Whos feed'
+ user_id:
+ url: 'http://www.blogger.org/ufo/feed_me'
+ site_url: 'http://www.blogger.org/ufo'
+ harvested_publication_time: nil
Modified: projects/ogog/trunk/test/fixtures/posts.yml
===================================================================
--- projects/ogog/trunk/test/fixtures/posts.yml 2007-05-27 21:15:16 UTC (rev 326)
+++ projects/ogog/trunk/test/fixtures/posts.yml 2007-05-28 00:07:20 UTC (rev 327)
@@ -42,3 +42,11 @@
body: 'This is Kevins second blog post. Yup. This is Kevins second blog post. Yup. This is Kevins second blog post. Yup. This is Kevins second blog post. Yup. This is Kevins second blog post. Yup. This is Kevins second blog post. Yup. ... ...END SNIPPET END BODY'
url: 'http://www.blogger.org/kevin/so/today'
published_at: <%= (2.days.ago).iso8601 %>
+ufos_blog_post:
+ id: 5
+ feed_id: 5
+ title: 'Unclaimed blog post'
+ snippet: 'This is an unclaimed blog post. Yup.'
+ body: 'This is an unclaimed blog post. Yup.'
+ url: 'http://www.blogger.org/ufo/so/today'
+ published_at: <%= (7.days.ago).iso8601 %>
Modified: projects/ogog/trunk/test/fixtures/taggings.yml
===================================================================
--- projects/ogog/trunk/test/fixtures/taggings.yml 2007-05-27 21:15:16 UTC (rev 326)
+++ projects/ogog/trunk/test/fixtures/taggings.yml 2007-05-28 00:07:20 UTC (rev 327)
@@ -27,45 +27,59 @@
weight: 1.1
score: 3.9
negative_as_of:
+unclaimed_blog_post_overall:
+ id: 5
+ tag_id: 1
+ post_id: 5
+ weight: 0.1
+ score: 0.4
+ negative_as_of:
eduards_blog_post_moontravel:
- id: 5
+ id: 6
tag_id: 2
post_id: 1
weight: 1.0
score: 3.0
negative_as_of:
johns_blog_post_moontravel:
- id: 6
+ id: 7
tag_id: 2
post_id: 2
weight: 1.0
score: 1.0
negative_as_of:
eduards_blog_post_rocks:
- id: 7
+ id: 8
tag_id: 3
post_id: 1
weight: 0.0
score: 0.0
negative_as_of:
johns_blog_post_rocks:
- id: 8
+ id: 9
tag_id: 3
post_id: 2
weight: 1.0
score: 1.0
negative_as_of:
eduards_blog_post_ducks:
- id: 9
+ id: 10
tag_id: 4
post_id: 1
weight: 0.5
score: -1.0
negative_as_of: <%= 1.day.ago.iso8601 %>
kevins_second_blog_post_ducks:
- id: 10
+ id: 11
tag_id: 4
post_id: 4
weight: 1.1
score: -1
negative_as_of: <%= 2.hours.ago.iso8601 %>
+unclaimed_blog_post_birds:
+ id: 12
+ tag_id: 5
+ post_id: 5
+ weight: 1
+ score: 2
+ negative_as_of:
Modified: projects/ogog/trunk/test/fixtures/tags.yml
===================================================================
--- projects/ogog/trunk/test/fixtures/tags.yml 2007-05-27 21:15:16 UTC (rev 326)
+++ projects/ogog/trunk/test/fixtures/tags.yml 2007-05-28 00:07:20 UTC (rev 327)
@@ -11,3 +11,6 @@
ducks:
id: 4
word: 'Ducks'
+birds:
+ id: 5
+ word: 'Birds'
Modified: projects/ogog/trunk/test/unit/link_test.rb
===================================================================
--- projects/ogog/trunk/test/unit/link_test.rb 2007-05-27 21:15:16 UTC (rev 326)
+++ projects/ogog/trunk/test/unit/link_test.rb 2007-05-28 00:07:20 UTC (rev 327)
@@ -42,15 +42,23 @@
moontravel = Tag.find(tags(:moontravel).id)
rocks = Tag.find(tags(:rocks).id)
ducks = Tag.find(tags(:ducks).id)
+ birds = Tag.find(tags(:birds).id)
+ # all existing
l = Link.new_from_s('moontravel/rocks/ducks')
l.resolve
assert_equal [moontravel, rocks, ducks], l.received_tags
+ # unexisting tag
l = Link.new_from_s('moontravel/rocks/planes')
l.resolve
assert_equal [moontravel, rocks], l.received_tags
+ # no post for this combination
+ l = Link.new_from_s('rocks/birds')
+ l.resolve
+ assert_equal [birds], l.received_tags
+
l = Link.new_from_s('baboons/planes')
l.resolve
assert_equal [Tag.overall], l.received_tags
Modified: projects/ogog/trunk/test/unit/tagging_test.rb
===================================================================
--- projects/ogog/trunk/test/unit/tagging_test.rb 2007-05-27 21:15:16 UTC (rev 326)
+++ projects/ogog/trunk/test/unit/tagging_test.rb 2007-05-28 00:07:20 UTC (rev 327)
@@ -64,9 +64,10 @@
moontravel = Tag.find(tags(:moontravel).id)
rocks = Tag.find(tags(:rocks).id)
ducks = Tag.find(tags(:ducks).id)
- assert_equal [overall, moontravel, rocks, ducks], Tagging.top_tags(c.link.received_tags)
+ birds = Tag.find(tags(:birds).id)
+ assert_equal [overall, moontravel, rocks, ducks, birds], Tagging.top_tags(c.link.received_tags)
assert_equal [overall, moontravel], Tagging.top_tags(c.link.received_tags, :limit => 2)
- assert_equal [ducks, moontravel, rocks, overall], Tagging.top_tags(c.link.received_tags, :order => "count ASC, word")
+ assert_equal [birds, ducks, moontravel, rocks, overall], Tagging.top_tags(c.link.received_tags, :order => "count ASC, word")
end
def test_devaluate_weights
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-27 21:15:17
|
Revision: 326
http://logilogi.svn.sourceforge.net/logilogi/?rev=326&view=rev
Author: wybow
Date: 2007-05-27 14:15:16 -0700 (Sun, 27 May 2007)
Log Message:
-----------
Add new files for user-rankings...
Added Paths:
-----------
projects/ogog/trunk/app/views/user/_cloud.rhtml
projects/ogog/trunk/app/views/user/_users.rhtml
projects/ogog/trunk/app/views/user/ranking.rhtml
Added: projects/ogog/trunk/app/views/user/_cloud.rhtml
===================================================================
--- projects/ogog/trunk/app/views/user/_cloud.rhtml (rev 0)
+++ projects/ogog/trunk/app/views/user/_cloud.rhtml 2007-05-27 21:15:16 UTC (rev 326)
@@ -0,0 +1,10 @@
+<div id="cloud" class="box small">
+ <h3 class="title">User Tag Cloud</h3>
+ <% if tags.empty? %>
+ <center><span class="notice">None yet</span></center>
+ <% else %>
+ <% tag_cloud tags, ['tag1', 'tag2', 'tag3', 'tag4', 'tag5'] do |tag, css_class| %>
+ <%= link_to_user_cloud_tag(tag, css_class) %>
+ <% end %>
+ <% end %>
+</div>
Added: projects/ogog/trunk/app/views/user/_users.rhtml
===================================================================
--- projects/ogog/trunk/app/views/user/_users.rhtml (rev 0)
+++ projects/ogog/trunk/app/views/user/_users.rhtml 2007-05-27 21:15:16 UTC (rev 326)
@@ -0,0 +1,12 @@
+<% if users.empty? %>
+ <center><span class="notice">None yet</span></center>
+<% else %>
+ <table>
+ <% users.each do |user| %>
+ <tr>
+ <td class="percentile"><%= percentile_span(user.percentile_for(Context.current.tag)) %></td>
+ <td><%= link_to_user(user) %></td>
+ </tr>
+ <% end %>
+ </table>
+<% end %>
Added: projects/ogog/trunk/app/views/user/ranking.rhtml
===================================================================
--- projects/ogog/trunk/app/views/user/ranking.rhtml (rev 0)
+++ projects/ogog/trunk/app/views/user/ranking.rhtml 2007-05-27 21:15:16 UTC (rev 326)
@@ -0,0 +1,6 @@
+<div id="middle_container">
+ <div id="user_ranking" class="box normal">
+ <h3 class="title">User Ranking</h3>
+ <%= @top_users_s %>
+ </div>
+</div>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-27 21:06:06
|
Revision: 325
http://logilogi.svn.sourceforge.net/logilogi/?rev=325&view=rev
Author: wybow
Date: 2007-05-27 14:06:00 -0700 (Sun, 27 May 2007)
Log Message:
-----------
Moved a few body-parts, fixed css, added user-listing...
Modified Paths:
--------------
projects/ogog/trunk/app/controllers/application.rb
projects/ogog/trunk/app/controllers/post_controller.rb
projects/ogog/trunk/app/controllers/user_controller.rb
projects/ogog/trunk/app/helpers/application_helper.rb
projects/ogog/trunk/app/helpers/post_helper.rb
projects/ogog/trunk/app/helpers/user_helper.rb
projects/ogog/trunk/app/models/membership.rb
projects/ogog/trunk/app/models/tag.rb
projects/ogog/trunk/app/models/tagging.rb
projects/ogog/trunk/app/models/user.rb
projects/ogog/trunk/app/views/feed/_last_post.rhtml
projects/ogog/trunk/app/views/post/_cloud.rhtml
projects/ogog/trunk/app/views/post/_post_score_block.rhtml
projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml
projects/ogog/trunk/app/views/post/_viewpoints.rhtml
projects/ogog/trunk/app/views/shared/_menu.rhtml
projects/ogog/trunk/app/views/user/show.rhtml
projects/ogog/trunk/config/routes.rb
projects/ogog/trunk/public/stylesheets/ogog.css
projects/ogog/trunk/test/integration/visits_test.rb
projects/ogog/trunk/test/unit/tag_test.rb
projects/ogog/trunk/test/unit/tagging_test.rb
Modified: projects/ogog/trunk/app/controllers/application.rb
===================================================================
--- projects/ogog/trunk/app/controllers/application.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/controllers/application.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -29,7 +29,7 @@
left_body :menu
- right_body :sponsoring,
+ left_body :sponsoring,
:except => [:index]
### Filter functions
@@ -75,7 +75,12 @@
### Methods
def single_url_bar
- url = url_for(params.merge(:only_path => true)).slice(1..-1).split('/')[0...-1].join(' / ')
+ url = url_for(params.merge(:only_path => true)).slice(1..-1)
+ if params[:tag_string].empty?
+ url = url.split('/').join(' / ')
+ else
+ url = url.split('/')[0...-1].join(' / ')
+ end
render_to_string(:partial => 'shared/single_url_bar',
:locals => {:url => url, :tag => Context.current.tag})
end
Modified: projects/ogog/trunk/app/controllers/post_controller.rb
===================================================================
--- projects/ogog/trunk/app/controllers/post_controller.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/controllers/post_controller.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -29,7 +29,8 @@
left_body :cloud,
: [:index]
- left_body :viewpoints,
+
+ right_body :viewpoints,
: [:viewpoint]
### Filter functions
@@ -116,7 +117,7 @@
private
def cloud_s
- tags = Tag.top_tags(Context.current.link.received_tags, :order => "count DESC, word", :limit => 71).
+ tags = Tagging.top_tags(Context.current.link.received_tags, :order => "count DESC, word", :limit => 71).
sort_by {|tag| tag.word}
([Tag.overall] + Context.current.link.received_tags).each do |tag|
tags.delete(tag)
Modified: projects/ogog/trunk/app/controllers/user_controller.rb
===================================================================
--- projects/ogog/trunk/app/controllers/user_controller.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/controllers/user_controller.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -17,18 +17,21 @@
### Filters
before_filter :find,
- :except => [:new, :create]
+ :except => [:ranking, :new, :create]
before_filter :order_memberships,
: [:show]
before_filter :build_bodies
### Bodies
- url_bar_body :single_tagless_url_bar
+ url_bar_body :single_tagless_url_bar,
+ :except => [:ranking]
+ url_bar_body :single_url_bar,
+ : [:ranking]
- left_body :cloud,
- : [:index]
- left_body :badges,
+ right_body :cloud,
+ : [:ranking]
+ right_body :badges,
: [:show]
### Filter functions
@@ -63,7 +66,13 @@
### Body functions
def cloud
- render_to_string(:partial => 'cloud')
+ tags = Membership.top_tags(:order => 'count DESC, word', :limit => 71).
+ sort_by {|tag| tag.word}
+ [Tag.overall, Context.current.tag].each do |tag|
+ tags.delete(tag)
+ end
+ render_to_string(:partial => 'cloud',
+ :locals => {:tags => tags})
end
def badges
@@ -73,7 +82,8 @@
### CRUD-methods
- def index
+ def ranking
+ @top_users_s = top_users_s
end
def new
@@ -162,4 +172,13 @@
end
end
end
+
+ # Private
+
+ private
+
+ def top_users_s
+ users = Membership.top_users_for(Context.current.tag)
+ render_to_string(:partial => 'users', :locals => {:users => users})
+ end
end
Modified: projects/ogog/trunk/app/helpers/application_helper.rb
===================================================================
--- projects/ogog/trunk/app/helpers/application_helper.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/helpers/application_helper.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -2,6 +2,8 @@
module ApplicationHelper
include Rubaidh::TabularForm
+ # Links
+
def link_to_tag(tag, options = {})
link_to(truncate(tag.to_s, 15), index_url({:link_string => tag.to_s}),options)
end
@@ -19,6 +21,8 @@
link_to feed.title, feed_url(feed)
end
+ # Scores, rankings, percentiles
+
def score_image(score)
if score.nil?
image = 'star'
@@ -31,32 +35,28 @@
'</div>'
end
- def score_nr(score)
- number_with_precision(score, 1)
+ def tagging_score(tagging)
+ (tagging.rated? ? number_with_precision(tagging.score, 1) : '~')
end
- def tagging_score(tagging)
- '<span class="score">' + score_nr(tagging.score) + '</span>'
+ def tagging_score_span(tagging)
+ '<span class="score">' + tagging_score(tagging) + '</span>'
end
- def membership_percentile(membership)
- '<span class="percentile fixed">' + number_with_precision(membership.percentile, 1) + ' %</span>'
+ def score_in_words(score)
+ Tagging::SCORES[score.round]
end
- def tagging_power(tagging)
+ def tagging_power_span(tagging)
'<span class="power" title="For each vote power is added">' + number_with_precision(tagging.weight, 1) + '</span>'
end
- def voting_power(voting_power)
+ def voting_power_span(voting_power)
'<span class="power">' + number_with_precision(voting_power, 1) + '</span>'
end
- def score_in_words(score)
- if score.nil?
- Tagging::SCORES[score]
- else
- Tagging::SCORES[score.round]
- end
+ def percentile_span(percentile)
+ '<span class="percentile fixed">' + number_with_precision(percentile, 1) + ' %</span>'
end
def percentile_in_words(percentile)
@@ -68,6 +68,25 @@
end
end
+ # Cloud
+
+ def tag_cloud(tags, classes)
+ max, min = 0, 0
+ tags.each { |tag|
+ count = tag.count.to_i
+ max = count if count > max
+ min = count if count < min
+ }
+
+ divisor = ((max - min) / classes.size) + 1
+
+ tags.each { |tag|
+ yield tag, classes[(tag.count.to_i - min) / divisor]
+ }
+ end
+
+ # Flashes & Errors
+
def display_standard_flashes
flashes = []
if flash[:error]
Modified: projects/ogog/trunk/app/helpers/post_helper.rb
===================================================================
--- projects/ogog/trunk/app/helpers/post_helper.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/helpers/post_helper.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -12,29 +12,9 @@
return link_url + '</ul>'
end
- def tag_cloud(tags, classes)
- max, min = 0, 0
- tags.each { |tag|
- count = tag.count.to_i
- max = count if count > max
- min = count if count < min
- }
-
- divisor = ((max - min) / classes.size) + 1
-
- tags.each { |tag|
- yield tag, classes[(tag.count.to_i - min) / divisor]
- }
- end
-
def link_to_cloud_tag(tag, css_class)
context = Context.current
- link = '<span class="cloud ' + css_class + '">' + link_to(truncate(tag.to_s, 12), index_url({:link_string => tag.to_s})) + ' '
- if tag != Tag.overall && !context.link.requested_tags.include?(tag)
- link << link_to('/+', index_url({:link_string => context.link.to_s + '/' + tag.to_s}))
- else
- link << '/~'
- end
- return link + '</span>'
+ return '<span class="cloud ' + css_class + '">' + link_to(truncate(tag.to_s, 12), index_url({:link_string => tag.to_s})) + ' ' +
+ link_to('/+', index_url({:link_string => context.link.to_s + '/' + tag.to_s})) + '</span>'
end
end
Modified: projects/ogog/trunk/app/helpers/user_helper.rb
===================================================================
--- projects/ogog/trunk/app/helpers/user_helper.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/helpers/user_helper.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -1,2 +1,5 @@
module UserHelper
+ def link_to_user_cloud_tag(tag, css_class)
+ return '<span class="cloud ' + css_class + '">' + link_to(truncate(tag.to_s, 12), user_ranking_url({:tag_string => tag.to_s})) + ' </span>'
+ end
end
Modified: projects/ogog/trunk/app/models/membership.rb
===================================================================
--- projects/ogog/trunk/app/models/membership.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/models/membership.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -31,6 +31,25 @@
return OgOg::Config::ACCOUNT_VOTING_POWER
end
+ # Returns the top-users for the given tag.
+ #
+ def self.top_users_for(tag)
+ sql = 'SELECT u.* FROM users AS u, memberships AS m WHERE' +
+ ' m.tag_id = ' + tag.id.to_s + ' AND' +
+ ' u.id = m.user_id ORDER BY m.percentile DESC'
+ User.find_by_sql(sql)
+ end
+
+ # Returns Tags for display in a cloud.
+ #
+ def self.top_tags(options = {})
+ sql = "SELECT t.*, count(*) AS count FROM tags AS t, memberships AS n" +
+ " WHERE t.id = n.tag_id GROUP BY n.tag_id "
+ sql << " ORDER BY #{options[:order]}" if options[:order] != nil
+ sql << " LIMIT #{options[:limit]}" if options[:limit] != nil
+ tags = Tag.find_by_sql(sql)
+ end
+
# (Re-)calculates the percentiles for the users.
#
def self.calculate_percentiles
Modified: projects/ogog/trunk/app/models/tag.rb
===================================================================
--- projects/ogog/trunk/app/models/tag.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/models/tag.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -60,28 +60,6 @@
end
end
- # Returns Tags for display in a cloud.
- #
- def self.top_tags(received_tags, options = {})
- sql = "SELECT t.*, count(*) AS count FROM tags AS t, taggings AS n"
- counter = 0
- received_tags.each {|t|
- sql << ', taggings AS n' + counter.to_s
- counter += 1
- }
- sql << ' WHERE '
- counter = 0
- received_tags.each {|t|
- sql << 'n' + counter.to_s + '.tag_id = ' + t.id.to_s + ' AND ' \
- << 'n.post_id = n' + counter.to_s + '.post_id AND '
- counter += 1
- }
- sql << "t.id = n.tag_id GROUP BY n.tag_id "
- sql << " ORDER BY #{options[:order]}" if options[:order] != nil
- sql << " LIMIT #{options[:limit]}" if options[:limit] != nil
- tags = Tag.find_by_sql(sql)
- end
-
### Methods
# Makes tags comparable.
Modified: projects/ogog/trunk/app/models/tagging.rb
===================================================================
--- projects/ogog/trunk/app/models/tagging.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/models/tagging.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -134,6 +134,28 @@
return sql
end
+ # Returns Tags for display in a cloud.
+ #
+ def self.top_tags(received_tags, options = {})
+ sql = "SELECT t.*, count(*) AS count FROM tags AS t, taggings AS n"
+ counter = 0
+ received_tags.each {|t|
+ sql << ', taggings AS n' + counter.to_s
+ counter += 1
+ }
+ sql << ' WHERE '
+ counter = 0
+ received_tags.each {|t|
+ sql << 'n' + counter.to_s + '.tag_id = ' + t.id.to_s + ' AND ' \
+ << 'n.post_id = n' + counter.to_s + '.post_id AND '
+ counter += 1
+ }
+ sql << "t.id = n.tag_id GROUP BY n.tag_id "
+ sql << " ORDER BY #{options[:order]}" if options[:order] != nil
+ sql << " LIMIT #{options[:limit]}" if options[:limit] != nil
+ tags = Tag.find_by_sql(sql)
+ end
+
# Applies the half-life fraction to the rating-powers.
#
def self.devaluate_weights(fraction)
Modified: projects/ogog/trunk/app/models/user.rb
===================================================================
--- projects/ogog/trunk/app/models/user.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/models/user.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -34,6 +34,7 @@
validates_uniqueness_of :openid_url
validates_presence_of :name
+ validates_exclusion_of :name, :in => ['ranking', 'badge']
validates_uniqueness_of :openid_url
validates_presence_of :full_name
Modified: projects/ogog/trunk/app/views/feed/_last_post.rhtml
===================================================================
--- projects/ogog/trunk/app/views/feed/_last_post.rhtml 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/views/feed/_last_post.rhtml 2007-05-27 21:06:00 UTC (rev 325)
@@ -11,7 +11,7 @@
</td></tr>
<tr><td class="rated">
<% tagging = post.tagging_for(post.best_tag) %>
- Rated <%= tagging_score(tagging) %> with power <%= tagging_power(tagging) %> from: <%= link_to_tag(post.best_tag) %>
+ Rated <%= tagging_score_span(tagging) %> with power <%= tagging_power_span(tagging) %> from: <%= link_to_tag(post.best_tag) %>
</td></tr>
</table>
</div>
Modified: projects/ogog/trunk/app/views/post/_cloud.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_cloud.rhtml 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/views/post/_cloud.rhtml 2007-05-27 21:06:00 UTC (rev 325)
@@ -1,6 +1,10 @@
<div id="cloud" class="box small">
<h3 class="title">Tag Cloud</h3>
- <% tag_cloud tags, ['tag1', 'tag2', 'tag3', 'tag4', 'tag5'] do |tag, css_class| %>
- <%= link_to_cloud_tag(tag, css_class) %>
+ <% if tags.empty? %>
+ <center><span class="notice">None yet</span></center>
+ <% else %>
+ <% tag_cloud tags, ['tag1', 'tag2', 'tag3', 'tag4', 'tag5'] do |tag, css_class| %>
+ <%= link_to_cloud_tag(tag, css_class) %>
+ <% end %>
<% end %>
</div>
Modified: projects/ogog/trunk/app/views/post/_post_score_block.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_post_score_block.rhtml 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/views/post/_post_score_block.rhtml 2007-05-27 21:06:00 UTC (rev 325)
@@ -1,11 +1,11 @@
<td rowspan="2" colspan="1" class="score">
<%= link_to(score_image(tagging.score), "#rating_bar") %>
<div class="score">
- <%= link_to(score_nr(tagging.score), "#rating_bar") %>
+ <%= link_to(tagging_score(tagging), "#rating_bar") %>
</div>
</td>
<td class="power">
- Power: <%= tagging_power(tagging) %>
+ Power: <%= tagging_power_span(tagging) %>
</td>
<td class="rate">
<%= link_to 'Rate at bottom', "#rating_bar" %>
Modified: projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml 2007-05-27 21:06:00 UTC (rev 325)
@@ -2,11 +2,11 @@
<% title = 'Rating is done at the bottom of the full article' %>
<%= link_to_post(score_image(tagging.score), post, tagging.tag, {:note => 'scan'}, {:title => title}) %>
<div class="score">
- <%= link_to_post(score_nr(tagging.score), post, tagging.tag, {:note => 'scan'}, {:title => title}) %>
+ <%= link_to_post(tagging_score(tagging), post, tagging.tag, {:note => 'scan'}, {:title => title}) %>
</div>
</td>
<td class="power">
- Power: <%= tagging_power(tagging) %>
+ Power: <%= tagging_power_span(tagging) %>
</td>
<td class="rate">
<%= link_to_post('Rate & read', post, tagging.tag) %>, quick:
Modified: projects/ogog/trunk/app/views/post/_viewpoints.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_viewpoints.rhtml 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/views/post/_viewpoints.rhtml 2007-05-27 21:06:00 UTC (rev 325)
@@ -3,7 +3,7 @@
<table>
<% taggings.each do |tagging| %>
<tr>
- <td class="score"><%= tagging_score(tagging) %></td>
+ <td class="score"><%= tagging_score_span(tagging) %></td>
<td class="tag">from <%= link_to_post(truncate(tagging.tag.to_s, 12), post, tagging.tag) %></td>
</tr>
<% end %>
Modified: projects/ogog/trunk/app/views/shared/_menu.rhtml
===================================================================
--- projects/ogog/trunk/app/views/shared/_menu.rhtml 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/views/shared/_menu.rhtml 2007-05-27 21:06:00 UTC (rev 325)
@@ -1,7 +1,7 @@
<div id="menu" class="box small">
Your voting power for the<br /> <%= link_to_tag(Context.current.tag) %> viewpoint is:
<% if User.anonymous? %>
- <%= voting_power(Membership.anonymous_voting_power) %>
+ <%= voting_power_span(Membership.anonymous_voting_power) %>
<div id="side_bar_login">
<% form_tag :controller => 'account', :action => 'login' do %>
<label for="account_openid_url" class="overlabel">OpenID login Url</label>
@@ -9,7 +9,7 @@
<% end %>
</div>
<% else %>
- <%= voting_power(User.current.power_for(Context.current.tag)) %>
+ <%= voting_power_span(User.current.power_for(Context.current.tag)) %>
<p>Logged in as <%= link_to_user(User.current) %></p>
<% end %>
<ul>
@@ -22,7 +22,8 @@
</ul>
<hr />
<ul>
- <li><%= link_to 'Home', main_url() %></li>
+ <li><%= link_to 'Posts', main_url() %></li>
+ <li><%= link_to 'Bloggers', user_main_url() %></li>
<li><%= link_to 'Add Feed', new_feed_url() %></li>
<li><%= link_to 'Tour', url_for(:controller => :doc, :action => :tour) %></li>
<li><%= link_to 'Faq', url_for(:controller => :doc, :action => :faq) %></li>
Modified: projects/ogog/trunk/app/views/user/show.rhtml
===================================================================
--- projects/ogog/trunk/app/views/user/show.rhtml 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/app/views/user/show.rhtml 2007-05-27 21:06:00 UTC (rev 325)
@@ -21,7 +21,7 @@
<table class="percentiles">
<% @memberships.each do |membership| %>
<tr>
- <td class="percentile"><%= membership_percentile(membership) %></td>
+ <td class="percentile"><%= percentile_span(membership.percentile) %></td>
<td class="membership">at <%= link_to_tag(membership.tag) %></td>
</tr>
<% end %>
Modified: projects/ogog/trunk/config/routes.rb
===================================================================
--- projects/ogog/trunk/config/routes.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/config/routes.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -17,15 +17,21 @@
# instead of a file named 'wsdl'
map.connect ':controller/service.wsdl', :action => 'wsdl'
- # REST
- map.resources :feed, :user, :post, :path_prefix => 'do'
-
# Default
map.main '',
:controller => 'post',
:action => 'index',
:link_string => ''
+ # User default
+ map.user_main 'do/user/ranking',
+ :controller => 'user',
+ :action => 'ranking',
+ :tag_string => ''
+
+ # REST
+ map.resources :feed, :user, :post, :path_prefix => 'do'
+
# User badges
map.badge 'do/user/:id/badge/:tag_string',
:controller => 'user',
@@ -38,6 +44,11 @@
map.badge_format 'do/user/:id/badge/:tag_string.:format',
:controller => 'user',
:action => 'badge'
+
+ # Ranking
+ map.user_ranking 'do/user/ranking/:tag_string',
+ :controller => 'user',
+ :action => 'ranking'
# Viewpoint & rating
map.show 'do/post/:id/:action/:tag_string',
Modified: projects/ogog/trunk/public/stylesheets/ogog.css
===================================================================
--- projects/ogog/trunk/public/stylesheets/ogog.css 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/public/stylesheets/ogog.css 2007-05-27 21:06:00 UTC (rev 325)
@@ -327,13 +327,21 @@
margin-left: 0;
padding-left: 0;
}
-#user table.percentiles td.percentile {
+#user td.percentile {
text-align: right;
}
-#user table.percentiles td.membership {
+#user td.membership {
margin-left: 4px;
}
+#user_ranking table {
+ width: 100%;
+}
+#user_ranking td.percentile {
+ text-align: right;
+ width: 35%;
+}
+
/* Posts */
div.post {
@@ -419,10 +427,12 @@
#viewpoints table td.tag {
margin-left: 0.5em;
}
-div.post img {
+div.post td.body img,
+div.post td.snippet img {
display: block;
text-align: center;
margin: 0 auto;
+ padding-bottom: 1em;
}
/* Cloud */
Modified: projects/ogog/trunk/test/integration/visits_test.rb
===================================================================
--- projects/ogog/trunk/test/integration/visits_test.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/test/integration/visits_test.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -34,7 +34,10 @@
# Content pages
assert_visit 'do/post/4/viewpoint/Overall'
assert_visit 'do/feed/3'
+
+ # Users
assert_visit 'do/user/kevin'
+ assert_visit 'do/user/ranking'
# Badges
assert_visit 'do/user/kevin/badge/Rocks'
Modified: projects/ogog/trunk/test/unit/tag_test.rb
===================================================================
--- projects/ogog/trunk/test/unit/tag_test.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/test/unit/tag_test.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -30,18 +30,6 @@
assert_equal 'Ha_Kanuba', Tag.or_new_from_s('Ha$$kanuba').word
end
- def test_top_tags
- c = Context.new(Link.new_from_s('overall'))
- c.resolve
- overall = Tag.find(tags(:overall).id)
- moontravel = Tag.find(tags(:moontravel).id)
- rocks = Tag.find(tags(:rocks).id)
- ducks = Tag.find(tags(:ducks).id)
- assert_equal [overall, moontravel, rocks, ducks], Tag.top_tags(c.link.received_tags)
- assert_equal [overall, moontravel], Tag.top_tags(c.link.received_tags, :limit => 2)
- assert_equal [ducks, moontravel, rocks, overall], Tag.top_tags(c.link.received_tags, :order => "count ASC, word")
- end
-
def test_to_s
moontravel = Tag.find(tags(:moontravel).id)
assert_equal 'Moontravel', moontravel.to_s
Modified: projects/ogog/trunk/test/unit/tagging_test.rb
===================================================================
--- projects/ogog/trunk/test/unit/tagging_test.rb 2007-05-25 18:04:39 UTC (rev 324)
+++ projects/ogog/trunk/test/unit/tagging_test.rb 2007-05-27 21:06:00 UTC (rev 325)
@@ -56,6 +56,18 @@
assert_equal [eduards_blog_post],
Tagging.top_posts_for([rocks], :limit => 1, :offset => 1)
end
+
+ def test_top_tags
+ c = Context.new(Link.new_from_s('overall'))
+ c.resolve
+ overall = Tag.find(tags(:overall).id)
+ moontravel = Tag.find(tags(:moontravel).id)
+ rocks = Tag.find(tags(:rocks).id)
+ ducks = Tag.find(tags(:ducks).id)
+ assert_equal [overall, moontravel, rocks, ducks], Tagging.top_tags(c.link.received_tags)
+ assert_equal [overall, moontravel], Tagging.top_tags(c.link.received_tags, :limit => 2)
+ assert_equal [ducks, moontravel, rocks, overall], Tagging.top_tags(c.link.received_tags, :order => "count ASC, word")
+ end
def test_devaluate_weights
Tagging.devaluate_weights(0.5)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-25 18:04:41
|
Revision: 324
http://logilogi.svn.sourceforge.net/logilogi/?rev=324&view=rev
Author: wybow
Date: 2007-05-25 11:04:39 -0700 (Fri, 25 May 2007)
Log Message:
-----------
Added test for multiple images per post.
Modified Paths:
--------------
projects/ogog/trunk/app/models/post.rb
projects/ogog/trunk/lib/attribute_images.rb
projects/ogog/trunk/public/pub/test/image/post.html
projects/ogog/trunk/test/unit/post_test.rb
Added Paths:
-----------
projects/ogog/trunk/public/pub/test/image/img/sunshine.gif
Modified: projects/ogog/trunk/app/models/post.rb
===================================================================
--- projects/ogog/trunk/app/models/post.rb 2007-05-25 16:58:56 UTC (rev 323)
+++ projects/ogog/trunk/app/models/post.rb 2007-05-25 18:04:39 UTC (rev 324)
@@ -43,7 +43,7 @@
i_p.widths << a_i.width
i_p.heights << a_i.height
# returns the web-url it was saved to
- a_i.web_dir
+ a_i.web_filename
rescue
i_p.widths << 200
i_p.heights << 30
Modified: projects/ogog/trunk/lib/attribute_images.rb
===================================================================
--- projects/ogog/trunk/lib/attribute_images.rb 2007-05-25 16:58:56 UTC (rev 323)
+++ projects/ogog/trunk/lib/attribute_images.rb 2007-05-25 18:04:39 UTC (rev 324)
@@ -14,7 +14,7 @@
# For resizing images to fit, and for saving them.
class AttributeImages
- attr_reader :web_dir, :width, :height
+ attr_reader :web_filename, :width, :height
def initialize(class_name, id)
@dir = 'public/var/images/' + class_name + '/' + id.to_s
@@ -29,13 +29,15 @@
if img.size > 1
raise 'Animated, not doing that'
end
- img.resize_to_fit!(380,600)
+ if img.columns > 380 or img.rows > 600
+ img.resize_to_fit!(380,600)
+ end
@width = img.columns
@height = img.rows
Dir.mkdir(@dir) unless File.exists?(@dir)
filename = File.basename(original_location).gsub(/[^\w._-]/, '')
- @web_dir += '/' + filename
+ @web_filename = @web_dir + '/' + filename
img.write(@dir + '/' + filename)
end
Added: projects/ogog/trunk/public/pub/test/image/img/sunshine.gif
===================================================================
(Binary files differ)
Property changes on: projects/ogog/trunk/public/pub/test/image/img/sunshine.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: projects/ogog/trunk/public/pub/test/image/post.html
===================================================================
--- projects/ogog/trunk/public/pub/test/image/post.html 2007-05-25 16:58:56 UTC (rev 323)
+++ projects/ogog/trunk/public/pub/test/image/post.html 2007-05-25 18:04:39 UTC (rev 324)
@@ -1 +1 @@
-<p><img title='The 2600 joystick goes wireless... kinda' src='http://localhost:3000/pub/test/image/img/atari2600remote.jpg' border='0' alt='Atari 2600 remote'/></p><b>The Atari 2600 joystick is my favourite.</b><p>Alan explains, <em>"I wanted a simple remote that could be used to easily control the volume and mute the TV when the phone rings. I have replaced all of my remotes with a single Harmony 880 control which works great, but I wanted something a bit more cool to compliment it. Building the retro remote was fun and simple since the mini remote that I used was very easy to hack."</em>
+<p><img title='The 2600 joystick goes wireless... kinda' src='http://localhost:3000/pub/test/image/img/atari2600remote.jpg' border='0' alt='Atari 2600 remote'/></p><b>The Atari 2600 joystick is my favourite.</b><p>Alan explains, <em>"I wanted a simple remote that could be used to<img src="http://localhost:3000/pub/test/image/img/sunshine.gif">easily control the volume and mute the TV when the phone rings. I have replaced all of my remotes with a single Harmony 880 control which works great, but I wanted something a bit more cool to compliment it. Building the retro remote was fun and simple since the mini remote that I used was very easy to hack."</em>
Modified: projects/ogog/trunk/test/unit/post_test.rb
===================================================================
--- projects/ogog/trunk/test/unit/post_test.rb 2007-05-25 16:58:56 UTC (rev 323)
+++ projects/ogog/trunk/test/unit/post_test.rb 2007-05-25 18:04:39 UTC (rev 324)
@@ -22,10 +22,10 @@
p = Post.new(:feed => f, :title => 'test', :url => "http://localhost:3000/pub/test/image/post.html",
:body => Net::HTTP.get(URI.parse("http://localhost:3000/pub/test/image/post.html")), :published_at => Time.now)
assert p.save
- assert_equal '<p><img src="/var/images/post/' + p.id.to_s + '/atari2600remote.jpg" title="The 2600 joystick goes wireless... kinda" alt="Atari 2600 remote" height="276" width="380" /></p><b>The Atari 2600 joystick is my favourite.</b><p>Alan explains, <em>"I wanted a simple remote that could be used to easily control the volume and mute the TV when the phone rings. I have replaced all of my remotes with a single Harmony 880 control which works great, but I wanted something a bit more cool to compliment it. Building the retro remote was fun and simple since the mini remote that I used was very easy to hack."</em></p>',
+ assert_equal '<p><img src="/var/images/post/' + p.id.to_s + '/atari2600remote.jpg" title="The 2600 joystick goes wireless... kinda" alt="Atari 2600 remote" height="276" width="380" /></p><b>The Atari 2600 joystick is my favourite.</b><p>Alan explains, <em>"I wanted a simple remote that could be used to<img src="/var/images/post/' + p.id.to_s + '/sunshine.gif" height="100" width="100" />easily control the volume and mute the TV when the phone rings. I have replaced all of my remotes with a single Harmony 880 control which works great, but I wanted something a bit more cool to compliment it. Building the retro remote was fun and simple since the mini remote that I used was very easy to hack."</em></p>',
p.body
- assert_equal '<img src="/var/images/post/' + p.id.to_s + '/atari2600remote.jpg" title="The 2600 joystick goes wireless... kinda" alt="Atari 2600 remote" height="276" width="380" /><b>The Atari 2600 joystick is my favourite.</b>Alan explains, <em>"I wanted a simple remote that could be used to easily control the volume an</em>',
+ assert_equal '<img src="/var/images/post/' + p.id.to_s + '/atari2600remote.jpg" title="The 2600 joystick goes wireless... kinda" alt="Atari 2600 remote" height="276" width="380" /><b>The Atari 2600 joystick is my favourite.</b>Alan explains, <em>"I wanted a simple remote that could</em>',
p.snippet
assert File.exists?('public/var/images/post/' + p.id.to_s)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-25 16:58:58
|
Revision: 323
http://logilogi.svn.sourceforge.net/logilogi/?rev=323&view=rev
Author: wybow
Date: 2007-05-25 09:58:56 -0700 (Fri, 25 May 2007)
Log Message:
-----------
Stripping crap beforehand now...
Modified Paths:
--------------
projects/ogog/trunk/app/models/post.rb
Modified: projects/ogog/trunk/app/models/post.rb
===================================================================
--- projects/ogog/trunk/app/models/post.rb 2007-05-25 16:41:16 UTC (rev 322)
+++ projects/ogog/trunk/app/models/post.rb 2007-05-25 16:58:56 UTC (rev 323)
@@ -33,7 +33,7 @@
def prepare_body_snippet_and_images
i_p = ImageParser.new
- imageless_body = i_p.strip(self.body)
+ imageless_body = i_p.strip(Post.strip_crap(self.body))
if !i_p.image_urls.empty?
a_i = AttributeImages.new('post', self.id)
@@ -45,12 +45,12 @@
# returns the web-url it was saved to
a_i.web_dir
rescue
- i_p.widths <<
- i_p.heights << a_i.height
+ i_p.widths << 200
+ i_p.heights << 30
"/images/image_error.jpg"
end
end
- self.body = i_p.add(@@tidy.clean(Post.strip_crap(imageless_body)))
+ self.body = i_p.add(@@tidy.clean(imageless_body))
self.snippet = i_p.add(@@tidy.clean(Post.strip_snippet_html(imageless_body[0..290])))
cut_size = 250
while self.snippet.size > 300
@@ -62,7 +62,7 @@
end
end
else
- self.body = @@tidy.clean(Post.strip_crap(imageless_body))
+ self.body = @@tidy.clean(imageless_body)
self.snippet = @@tidy.clean(Post.strip_snippet_html(imageless_body[0..290]))
cut_size = 270
while self.snippet.size > 300
@@ -88,7 +88,6 @@
#
def self.strip_snippet_html(text)
text.gsub!(/\<((\/)\s*?)?(p|table|td|tr|a href='http:\/\/feeds.feedburner.com).*?\>/,'')
- Post.strip_crap(text)
end
# Removes feedburner image links
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-25 16:41:30
|
Revision: 322
http://logilogi.svn.sourceforge.net/logilogi/?rev=322&view=rev
Author: wybow
Date: 2007-05-25 09:41:16 -0700 (Fri, 25 May 2007)
Log Message:
-----------
Stripping some bottom-links now...
Modified Paths:
--------------
projects/ogog/trunk/app/models/post.rb
projects/ogog/trunk/db/schema.rb
Modified: projects/ogog/trunk/app/models/post.rb
===================================================================
--- projects/ogog/trunk/app/models/post.rb 2007-05-25 15:57:30 UTC (rev 321)
+++ projects/ogog/trunk/app/models/post.rb 2007-05-25 16:41:16 UTC (rev 322)
@@ -45,14 +45,16 @@
# returns the web-url it was saved to
a_i.web_dir
rescue
+ i_p.widths <<
+ i_p.heights << a_i.height
"/images/image_error.jpg"
end
end
- self.body = i_p.add(@@tidy.clean(imageless_body))
- self.snippet = i_p.add(@@tidy.clean(Post.strip_bad_html(imageless_body[0..290])))
+ self.body = i_p.add(@@tidy.clean(Post.strip_crap(imageless_body)))
+ self.snippet = i_p.add(@@tidy.clean(Post.strip_snippet_html(imageless_body[0..290])))
cut_size = 250
while self.snippet.size > 300
- self.snippet = i_p.add(@@tidy.clean(Post.strip_bad_html(imageless_body[0..cut_size])))
+ self.snippet = i_p.add(@@tidy.clean(Post.strip_snippet_html(imageless_body[0..cut_size])))
cut_size -= 40
if cut_size < 0
self.snippet = ''
@@ -60,11 +62,11 @@
end
end
else
- self.body = @@tidy.clean(imageless_body)
- self.snippet = @@tidy.clean(Post.strip_bad_html(imageless_body[0..290]))
+ self.body = @@tidy.clean(Post.strip_crap(imageless_body))
+ self.snippet = @@tidy.clean(Post.strip_snippet_html(imageless_body[0..290]))
cut_size = 270
while self.snippet.size > 300
- self.snippet = @@tidy.clean(Post.strip_bad_html(imageless_body[0..cut_size]))
+ self.snippet = @@tidy.clean(Post.strip_snippet_html(imageless_body[0..cut_size]))
cut_size -= 20
if cut_size < 0
self.snippet = ''
@@ -84,10 +86,20 @@
# Removes all unwanted tags from the snippet.
#
- def self.strip_bad_html(text)
- text.gsub(/\<((\/)\s*?)?(p|table|td|tr).*?\>/,'')
+ def self.strip_snippet_html(text)
+ text.gsub!(/\<((\/)\s*?)?(p|table|td|tr|a href='http:\/\/feeds.feedburner.com).*?\>/,'')
+ Post.strip_crap(text)
end
+ # Removes feedburner image links
+ #
+ def self.strip_crap(text)
+ text.gsub!(/\<a\ href=(\'|\")http:\/\/feeds\.feedburner\.com.*?\<\/a\>/,'')
+ text.gsub!(/\<a\ href=(\'|\")http:\/\/(www)?technorati\.com\/tag\/.*?\<\/a\>/,'')
+ text.gsub!(/(style|width|height)=(\"|\').*?\>/,'')
+ text.strip
+ end
+
# Gets the tags from parsed URI.
#
def self.get_tags(url)
Modified: projects/ogog/trunk/db/schema.rb
===================================================================
--- projects/ogog/trunk/db/schema.rb 2007-05-25 15:57:30 UTC (rev 321)
+++ projects/ogog/trunk/db/schema.rb 2007-05-25 16:41:16 UTC (rev 322)
@@ -6,11 +6,11 @@
create_table "feeds", :force => true do |t|
t.column "user_id", :integer
- t.column "title", :string
- t.column "url", :string, :default => "", :null => false
+ t.column "title", :string, :limit => 300
+ t.column "url", :string, :default => "", :null => false
t.column "tags_string", :string
t.column "site_url", :string
- t.column "status", :integer, :default => 0, :null => false
+ t.column "status", :integer, :default => 0, :null => false
t.column "harvested_publication_time", :datetime
end
@@ -24,12 +24,12 @@
end
create_table "posts", :force => true do |t|
- t.column "feed_id", :integer, :null => false
- t.column "title", :string, :default => "", :null => false
- t.column "snippet", :string, :default => "", :null => false
- t.column "body", :text, :default => "", :null => false
- t.column "url", :string, :default => "", :null => false
- t.column "published_at", :datetime, :null => false
+ t.column "feed_id", :integer, :null => false
+ t.column "title", :string, :limit => 1000, :default => "", :null => false
+ t.column "snippet", :string, :default => "", :null => false
+ t.column "body", :text, :default => "", :null => false
+ t.column "url", :string, :default => "", :null => false
+ t.column "published_at", :datetime, :null => false
end
create_table "taggings", :force => true do |t|
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-25 15:57:54
|
Revision: 321
http://logilogi.svn.sourceforge.net/logilogi/?rev=321&view=rev
Author: wybow
Date: 2007-05-25 08:57:30 -0700 (Fri, 25 May 2007)
Log Message:
-----------
Small db-fix.
Modified Paths:
--------------
projects/ogog/trunk/db/migrate/001_initial_schema.rb
Modified: projects/ogog/trunk/db/migrate/001_initial_schema.rb
===================================================================
--- projects/ogog/trunk/db/migrate/001_initial_schema.rb 2007-05-25 15:38:48 UTC (rev 320)
+++ projects/ogog/trunk/db/migrate/001_initial_schema.rb 2007-05-25 15:57:30 UTC (rev 321)
@@ -68,7 +68,7 @@
t.column :user_id, :integer # can be unclaimed
t.column :title, :string, :limit => 300 # can be not yet harvested
t.column :url, :string, :limit => 300, :null => false
- t.column :tags_string, :string # can be null
+ t.column :tags_string, :string, :limit => 300 # can be null
t.column :site_url, :string, :limit => 300 # can be not yet harvested
t.column :status, :integer, :default => 0, :null => false
t.column :harvested_publication_time, :datetime # can be null
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-25 15:38:53
|
Revision: 320
http://logilogi.svn.sourceforge.net/logilogi/?rev=320&view=rev
Author: wybow
Date: 2007-05-25 08:38:48 -0700 (Fri, 25 May 2007)
Log Message:
-----------
Fixed a bug in truncating...
Modified Paths:
--------------
projects/ogog/trunk/app/models/post.rb
projects/ogog/trunk/db/migrate/001_initial_schema.rb
projects/ogog/trunk/lib/attribute_images.rb
projects/ogog/trunk/test/unit/post_test.rb
Modified: projects/ogog/trunk/app/models/post.rb
===================================================================
--- projects/ogog/trunk/app/models/post.rb 2007-05-25 12:03:36 UTC (rev 319)
+++ projects/ogog/trunk/app/models/post.rb 2007-05-25 15:38:48 UTC (rev 320)
@@ -49,15 +49,27 @@
end
end
self.body = i_p.add(@@tidy.clean(imageless_body))
- self.snippet = i_p.add(@@tidy.clean(imageless_body[0..245]))
- if self.snippet.size > 255
- self.snippet = i_p.add(@@tidy.clean(imageless_body[0..200]))
+ self.snippet = i_p.add(@@tidy.clean(Post.strip_bad_html(imageless_body[0..290])))
+ cut_size = 250
+ while self.snippet.size > 300
+ self.snippet = i_p.add(@@tidy.clean(Post.strip_bad_html(imageless_body[0..cut_size])))
+ cut_size -= 40
+ if cut_size < 0
+ self.snippet = ''
+ break
+ end
end
else
self.body = @@tidy.clean(imageless_body)
- self.snippet = @@tidy.clean(imageless_body[0..245])
- if self.snippet.size > 255
- self.snippet = @@tidy.clean(imageless_body[0..200])
+ self.snippet = @@tidy.clean(Post.strip_bad_html(imageless_body[0..290]))
+ cut_size = 270
+ while self.snippet.size > 300
+ self.snippet = @@tidy.clean(Post.strip_bad_html(imageless_body[0..cut_size]))
+ cut_size -= 20
+ if cut_size < 0
+ self.snippet = ''
+ break
+ end
end
end
self.save
@@ -70,6 +82,12 @@
### Functions
+ # Removes all unwanted tags from the snippet.
+ #
+ def self.strip_bad_html(text)
+ text.gsub(/\<((\/)\s*?)?(p|table|td|tr).*?\>/,'')
+ end
+
# Gets the tags from parsed URI.
#
def self.get_tags(url)
Modified: projects/ogog/trunk/db/migrate/001_initial_schema.rb
===================================================================
--- projects/ogog/trunk/db/migrate/001_initial_schema.rb 2007-05-25 12:03:36 UTC (rev 319)
+++ projects/ogog/trunk/db/migrate/001_initial_schema.rb 2007-05-25 15:38:48 UTC (rev 320)
@@ -57,19 +57,19 @@
create_table :posts do |t|
t.column :feed_id, :integer, :null => false
- t.column :title, :string, :limit => 255, :null => false
- t.column :snippet, :string, :limit => 255, :null => false
+ t.column :title, :string, :limit => 300, :null => false
+ t.column :snippet, :string, :limit => 300, :null => false
t.column :body, :text, :null => false
- t.column :url, :string, :limit => 255, :null => false
+ t.column :url, :string, :limit => 300, :null => false
t.column :published_at, :datetime, :null => false
end
create_table :feeds do |t|
t.column :user_id, :integer # can be unclaimed
- t.column :title, :string, :limit => 255 # can be not yet harvested
- t.column :url, :string, :limit => 255, :null => false
+ t.column :title, :string, :limit => 300 # can be not yet harvested
+ t.column :url, :string, :limit => 300, :null => false
t.column :tags_string, :string # can be null
- t.column :site_url, :string, :limit => 255 # can be not yet harvested
+ t.column :site_url, :string, :limit => 300 # can be not yet harvested
t.column :status, :integer, :default => 0, :null => false
t.column :harvested_publication_time, :datetime # can be null
end
Modified: projects/ogog/trunk/lib/attribute_images.rb
===================================================================
--- projects/ogog/trunk/lib/attribute_images.rb 2007-05-25 12:03:36 UTC (rev 319)
+++ projects/ogog/trunk/lib/attribute_images.rb 2007-05-25 15:38:48 UTC (rev 320)
@@ -26,6 +26,9 @@
raise 'Invalid location given'
end
img = Magick::ImageList.new(original_location)
+ if img.size > 1
+ raise 'Animated, not doing that'
+ end
img.resize_to_fit!(380,600)
@width = img.columns
@height = img.rows
Modified: projects/ogog/trunk/test/unit/post_test.rb
===================================================================
--- projects/ogog/trunk/test/unit/post_test.rb 2007-05-25 12:03:36 UTC (rev 319)
+++ projects/ogog/trunk/test/unit/post_test.rb 2007-05-25 15:38:48 UTC (rev 320)
@@ -25,7 +25,7 @@
assert_equal '<p><img src="/var/images/post/' + p.id.to_s + '/atari2600remote.jpg" title="The 2600 joystick goes wireless... kinda" alt="Atari 2600 remote" height="276" width="380" /></p><b>The Atari 2600 joystick is my favourite.</b><p>Alan explains, <em>"I wanted a simple remote that could be used to easily control the volume and mute the TV when the phone rings. I have replaced all of my remotes with a single Harmony 880 control which works great, but I wanted something a bit more cool to compliment it. Building the retro remote was fun and simple since the mini remote that I used was very easy to hack."</em></p>',
p.body
- assert_equal '<p><img src="/var/images/post/' + p.id.to_s + '/atari2600remote.jpg" title="The 2600 joystick goes wireless... kinda" alt="Atari 2600 remote" height="276" width="380" /></p><b>The Atari 2600 joystick is my favourite.</b><p>Alan explains, <em>"I wanted a simple remote that could be used to easily control the volume and mute the TV when the phone r</em></p>',
+ assert_equal '<img src="/var/images/post/' + p.id.to_s + '/atari2600remote.jpg" title="The 2600 joystick goes wireless... kinda" alt="Atari 2600 remote" height="276" width="380" /><b>The Atari 2600 joystick is my favourite.</b>Alan explains, <em>"I wanted a simple remote that could be used to easily control the volume an</em>',
p.snippet
assert File.exists?('public/var/images/post/' + p.id.to_s)
@@ -33,6 +33,11 @@
assert p.destroy
assert !File.exists?('public/var/images/post/' + p.id.to_s)
+
+ p = Post.new(:feed => f, :title => 'test', :url => "http://localhost:3000/nonex",
+ :body => '<img src="/var/images/post/' + p.id.to_s + '/atari2600remote.jpg" title="way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long, way too long...">', :published_at => Time.now)
+ assert p.save
+ assert_equal '', p.snippet
end
def test_get_tags
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-25 12:03:38
|
Revision: 319
http://logilogi.svn.sourceforge.net/logilogi/?rev=319&view=rev
Author: wybow
Date: 2007-05-25 05:03:36 -0700 (Fri, 25 May 2007)
Log Message:
-----------
Added fix for urls with spaces at end or begin.
Modified Paths:
--------------
projects/ogog/trunk/lib/image_parser.rb
Modified: projects/ogog/trunk/lib/image_parser.rb
===================================================================
--- projects/ogog/trunk/lib/image_parser.rb 2007-05-25 11:57:07 UTC (rev 318)
+++ projects/ogog/trunk/lib/image_parser.rb 2007-05-25 12:03:36 UTC (rev 319)
@@ -34,7 +34,7 @@
img_tag.tr!("\n",'')
if img_tag =~ /src=\"(.+?)\"/i or img_tag =~ /src=\'(.+?)\'/i
begin
- @image_urls << URI.parse(Regexp.last_match(1)).to_s
+ @image_urls << URI.parse(Regexp.last_match(1).strip).to_s
if img_tag =~ /title=\"(.+?)\"/i or img_tag =~ /title=\'(.+?)\'/i
@titles << Regexp.last_match(1)
else
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-25 11:57:14
|
Revision: 318
http://logilogi.svn.sourceforge.net/logilogi/?rev=318&view=rev
Author: wybow
Date: 2007-05-25 04:57:07 -0700 (Fri, 25 May 2007)
Log Message:
-----------
Added rescue in case of invalid image-urls
Modified Paths:
--------------
projects/ogog/trunk/lib/image_parser.rb
Modified: projects/ogog/trunk/lib/image_parser.rb
===================================================================
--- projects/ogog/trunk/lib/image_parser.rb 2007-05-25 11:53:10 UTC (rev 317)
+++ projects/ogog/trunk/lib/image_parser.rb 2007-05-25 11:57:07 UTC (rev 318)
@@ -33,18 +33,22 @@
text.gsub!(/\<img(.*?)\>/mi) do |img_tag|
img_tag.tr!("\n",'')
if img_tag =~ /src=\"(.+?)\"/i or img_tag =~ /src=\'(.+?)\'/i
- @image_urls << URI.parse(Regexp.last_match(1)).to_s
- if img_tag =~ /title=\"(.+?)\"/i or img_tag =~ /title=\'(.+?)\'/i
- @titles << Regexp.last_match(1)
- else
- @titles << nil
+ begin
+ @image_urls << URI.parse(Regexp.last_match(1)).to_s
+ if img_tag =~ /title=\"(.+?)\"/i or img_tag =~ /title=\'(.+?)\'/i
+ @titles << Regexp.last_match(1)
+ else
+ @titles << nil
+ end
+ if img_tag =~ /alt=\"(.+?)\"/i or img_tag =~ /alt=\'(.+?)\'/i
+ @alts << Regexp.last_match(1)
+ else
+ @alts << nil
+ end
+ '<br img="O" />'
+ rescue
+ ''
end
- if img_tag =~ /alt=\"(.+?)\"/i or img_tag =~ /alt=\'(.+?)\'/i
- @alts << Regexp.last_match(1)
- else
- @alts << nil
- end
- '<br img="O" />'
else
''
end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-25 11:53:14
|
Revision: 317
http://logilogi.svn.sourceforge.net/logilogi/?rev=317&view=rev
Author: wybow
Date: 2007-05-25 04:53:10 -0700 (Fri, 25 May 2007)
Log Message:
-----------
Added image to show when images are missing, and added images center-css
Modified Paths:
--------------
projects/ogog/trunk/public/stylesheets/ogog.css
Added Paths:
-----------
projects/ogog/trunk/public/images/image_error.jpg
projects/ogog/trunk/public/images/image_error.svg
Added: projects/ogog/trunk/public/images/image_error.jpg
===================================================================
(Binary files differ)
Property changes on: projects/ogog/trunk/public/images/image_error.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/ogog/trunk/public/images/image_error.svg
===================================================================
--- projects/ogog/trunk/public/images/image_error.svg (rev 0)
+++ projects/ogog/trunk/public/images/image_error.svg 2007-05-25 11:53:10 UTC (rev 317)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="200"
+ height="30"
+ id="svg1982"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ version="1.0"
+ sodipodi:docbase="/home/wybo/ogog/docs/misc"
+ sodipodi:docname="image_error.svg">
+ <defs
+ id="defs1984" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="115.13496"
+ inkscape:cy="-14.338985"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ width="200px"
+ height="30px"
+ inkscape:window-width="914"
+ inkscape:window-height="626"
+ inkscape:window-x="1285"
+ inkscape:window-y="55" />
+ <metadata
+ id="metadata1987">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <rect
+ style="opacity:1;fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:black;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect13006"
+ width="198.7807"
+ height="28.810146"
+ x="0.62482095"
+ y="0.59529847"
+ rx="0"
+ ry="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:18.64875412px;font-style:normal;font-weight:normal;fill:#b1b1b1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="31.931181"
+ y="20.447647"
+ id="text3839"><tspan
+ sodipodi:role="line"
+ id="tspan3841"
+ x="31.931181"
+ y="20.447647">Image missing</tspan></text>
+ </g>
+</svg>
Modified: projects/ogog/trunk/public/stylesheets/ogog.css
===================================================================
--- projects/ogog/trunk/public/stylesheets/ogog.css 2007-05-25 10:57:48 UTC (rev 316)
+++ projects/ogog/trunk/public/stylesheets/ogog.css 2007-05-25 11:53:10 UTC (rev 317)
@@ -419,6 +419,11 @@
#viewpoints table td.tag {
margin-left: 0.5em;
}
+div.post img {
+ display: block;
+ text-align: center;
+ margin: 0 auto;
+}
/* Cloud */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-25 10:57:50
|
Revision: 316
http://logilogi.svn.sourceforge.net/logilogi/?rev=316&view=rev
Author: wybow
Date: 2007-05-25 03:57:48 -0700 (Fri, 25 May 2007)
Log Message:
-----------
Added image resizing and local storage.
Modified Paths:
--------------
projects/ogog/trunk/app/models/post.rb
projects/ogog/trunk/doc/README_FOR_APP
projects/ogog/trunk/public/pub/test/lama/feed/feed.atom
projects/ogog/trunk/public/pub/test/lama/posts/post2.html
projects/ogog/trunk/public/pub/test/lama/posts/post3.html
projects/ogog/trunk/test/unit/post_test.rb
Added Paths:
-----------
projects/ogog/trunk/lib/attribute_images.rb
projects/ogog/trunk/lib/image_parser.rb
projects/ogog/trunk/lib/tidy_parser.rb
projects/ogog/trunk/public/pub/test/image/
projects/ogog/trunk/public/pub/test/image/img/
projects/ogog/trunk/public/pub/test/image/img/atari2600remote.jpg
projects/ogog/trunk/public/pub/test/image/post.html
projects/ogog/trunk/public/var/
projects/ogog/trunk/public/var/images/
projects/ogog/trunk/public/var/images/post/
Removed Paths:
-------------
projects/ogog/trunk/public/pub/test/rules.htm
Modified: projects/ogog/trunk/app/models/post.rb
===================================================================
--- projects/ogog/trunk/app/models/post.rb 2007-05-23 22:16:57 UTC (rev 315)
+++ projects/ogog/trunk/app/models/post.rb 2007-05-25 10:57:48 UTC (rev 316)
@@ -18,34 +18,67 @@
has_many :taggings
has_many :tags, :through => :taggings
+ @@tidy = TidyParser.new
+
### Validations
- validates_presence_of :title, :body, :url
+ validates_presence_of :title, :body, :url, :published_at
### Filters
- before_save :set_snippet
+ after_create :prepare_body_snippet_and_images
+ before_destroy :delete_images
### Filter Functions
- # Sets the snippet to the first 245 characters of the body and makes
- # sure that all HTML-tags will be neatly closed (a TODO).
- #
- def set_snippet
- self.snippet = self.body[0..245]
+ def prepare_body_snippet_and_images
+ i_p = ImageParser.new
+ imageless_body = i_p.strip(self.body)
+
+ if !i_p.image_urls.empty?
+ a_i = AttributeImages.new('post', self.id)
+ i_p.image_urls.collect! do |image_url|
+ begin
+ a_i.save(image_url)
+ i_p.widths << a_i.width
+ i_p.heights << a_i.height
+ # returns the web-url it was saved to
+ a_i.web_dir
+ rescue
+ "/images/image_error.jpg"
+ end
+ end
+ self.body = i_p.add(@@tidy.clean(imageless_body))
+ self.snippet = i_p.add(@@tidy.clean(imageless_body[0..245]))
+ if self.snippet.size > 255
+ self.snippet = i_p.add(@@tidy.clean(imageless_body[0..200]))
+ end
+ else
+ self.body = @@tidy.clean(imageless_body)
+ self.snippet = @@tidy.clean(imageless_body[0..245])
+ if self.snippet.size > 255
+ self.snippet = @@tidy.clean(imageless_body[0..200])
+ end
+ end
+ self.save
end
+ def delete_images
+ a_i = AttributeImages.new('post', self.id)
+ a_i.clear
+ end
+
### Functions
- # Gets the tags from URI-parsed html.
+ # Gets the tags from parsed URI.
#
- def self.get_tags(html)
+ def self.get_tags(url)
s = Scraper.define {
array :tags
process 'a[href][rel~=tag]', :tags => :text
result :tags
}
- return s.scrape(html)
+ return s.scrape(url)
end
### Methods
Modified: projects/ogog/trunk/doc/README_FOR_APP
===================================================================
--- projects/ogog/trunk/doc/README_FOR_APP 2007-05-23 22:16:57 UTC (rev 315)
+++ projects/ogog/trunk/doc/README_FOR_APP 2007-05-25 10:57:48 UTC (rev 316)
@@ -44,8 +44,9 @@
feedtools[http://rubyforge.org/projects/feedtools],
gems[http://rubyforge.org/projects/rubygems] (version >= 0.9)
-Also optionally you need net/https for ssl-OpenID's. Have a look
-ar the notes at the bottom.
+Also optionally you need net/https for ssl-OpenID's and RubyTidy
+(http://rubyforge.org/projects/tidy). Have a look at the notes at the
+bottom.
The other required plugins are imported automatically by subversion
when you checkout the code.
@@ -87,9 +88,13 @@
==== Ruby
You need to install the following packages to get a standard Ruby
-installation: ruby libzlib-ruby rdoc irb rake
+installation: ruby libzlib-ruby rdoc irb rake.
==== Net/https
-To get net/https to work you need ruby-openssl, and for tidy you
-need tidy and libtidy-ruby.
+To get net/https to work on Debian you need ruby-openssl. On non-
+debian-based systems it is part of the standard ruby libraries.
+
+==== RubyTidy
+
+And for tidy you need tidy and libtidy-ruby.
Added: projects/ogog/trunk/lib/attribute_images.rb
===================================================================
--- projects/ogog/trunk/lib/attribute_images.rb (rev 0)
+++ projects/ogog/trunk/lib/attribute_images.rb 2007-05-25 10:57:48 UTC (rev 316)
@@ -0,0 +1,50 @@
+#--#
+# Copyright: (c) 2007 The LogiLogi Foundation <fou...@lo...>
+#
+# License:
+# This file is part of the OgOg program. OgOg is free software. You can run/
+# distribute/modify OgOg under the terms of the Affero General Public
+# License version 1 or any later version. The Affero GPL states that running
+# a modified version or a derivative work also requires you to make the
+# sourcecode of that work available to everyone that can interact with it.
+# We chose the Affero GPL to ensure that OgOg remains open and libre
+# (doc/LICENSE.txt contains the full text of the legally binding license).
+#++#
+#
+# For resizing images to fit, and for saving them.
+
+class AttributeImages
+ attr_reader :web_dir, :width, :height
+
+ def initialize(class_name, id)
+ @dir = 'public/var/images/' + class_name + '/' + id.to_s
+ @web_dir = '/var/images/' + class_name + '/' + id.to_s
+ end
+
+ def save(original_location)
+ if !original_location or original_location.empty?
+ raise 'Invalid location given'
+ end
+ img = Magick::ImageList.new(original_location)
+ img.resize_to_fit!(380,600)
+ @width = img.columns
+ @height = img.rows
+
+ Dir.mkdir(@dir) unless File.exists?(@dir)
+ filename = File.basename(original_location).gsub(/[^\w._-]/, '')
+ @web_dir += '/' + filename
+
+ img.write(@dir + '/' + filename)
+ end
+
+ def clear
+ if File.exists?(@dir)
+ Dir.foreach(@dir) do |file|
+ if file != "." and file != ".."
+ File.delete(@dir + '/' + file)
+ end
+ end
+ end
+ Dir.delete(@dir)
+ end
+end
Added: projects/ogog/trunk/lib/image_parser.rb
===================================================================
--- projects/ogog/trunk/lib/image_parser.rb (rev 0)
+++ projects/ogog/trunk/lib/image_parser.rb 2007-05-25 10:57:48 UTC (rev 316)
@@ -0,0 +1,64 @@
+#--#
+# Copyright: (c) 2007 The LogiLogi Foundation <fou...@lo...>
+#
+# License:
+# This file is part of the OgOg program. OgOg is free software. You can run/
+# distribute/modify OgOg under the terms of the Affero General Public
+# License version 1 or any later version. The Affero GPL states that running
+# a modified version or a derivative work also requires you to make the
+# sourcecode of that work available to everyone that can interact with it.
+# We chose the Affero GPL to ensure that OgOg remains open and libre
+# (doc/LICENSE.txt contains the full text of the legally binding license).
+#++#
+#
+# For stripping images, and putting them back so tidy can do it's work
+# safely.
+#
+# Set widths and heights before saving.
+
+require 'tidy'
+
+class ImageParser
+ attr_accessor :image_urls, :heights, :widths
+
+ def initialize
+ @image_urls = []
+ @widths = []
+ @heights = []
+ @titles = []
+ @alts = []
+ end
+
+ def strip(text)
+ text.gsub!(/\<img(.*?)\>/mi) do |img_tag|
+ img_tag.tr!("\n",'')
+ if img_tag =~ /src=\"(.+?)\"/i or img_tag =~ /src=\'(.+?)\'/i
+ @image_urls << URI.parse(Regexp.last_match(1)).to_s
+ if img_tag =~ /title=\"(.+?)\"/i or img_tag =~ /title=\'(.+?)\'/i
+ @titles << Regexp.last_match(1)
+ else
+ @titles << nil
+ end
+ if img_tag =~ /alt=\"(.+?)\"/i or img_tag =~ /alt=\'(.+?)\'/i
+ @alts << Regexp.last_match(1)
+ else
+ @alts << nil
+ end
+ '<br img="O" />'
+ else
+ ''
+ end
+ end
+ return text
+ end
+
+ def add(text)
+ counter = -1
+ text.gsub!(/\<br img=\"O\"\ \/>/mi) do
+ '<img src="' + @image_urls[counter += 1] + '"' + (@titles[counter] ? ' title="' + @titles[counter] + '"': '') +
+ (@alts[counter] ? ' alt="' + @alts[counter] + '"' : '') +
+ ' height="' + @heights[counter].to_s + '" width="' + @widths[counter].to_s + '" />'
+ end
+ return text
+ end
+end
Added: projects/ogog/trunk/lib/tidy_parser.rb
===================================================================
--- projects/ogog/trunk/lib/tidy_parser.rb (rev 0)
+++ projects/ogog/trunk/lib/tidy_parser.rb 2007-05-25 10:57:48 UTC (rev 316)
@@ -0,0 +1,46 @@
+#--#
+# Copyright: (c) 2007 The LogiLogi Foundation <fou...@lo...>
+#
+# License:
+# This file is part of the OgOg program. OgOg is free software. You can run/
+# distribute/modify OgOg under the terms of the Affero General Public
+# License version 1 or any later version. The Affero GPL states that running
+# a modified version or a derivative work also requires you to make the
+# sourcecode of that work available to everyone that can interact with it.
+# We chose the Affero GPL to ensure that OgOg remains open and libre
+# (doc/LICENSE.txt contains the full text of the legally binding license).
+#++#
+#
+# Based on the plugin of Damien Merenne <da...@co...>
+#
+# Tidies up html, especially by closing unclosed tags.
+
+require 'tidy'
+
+class TidyParser
+ cattr_accessor :tidy_path, :tidy_configuration
+
+ os = Config::CONFIG["arch"]
+ if os =~ /cygwin/
+ @@tidy_path = "/usr/bin/cygtidy-0-99-0.dll"
+ elsif os =~ /darwin/
+ @@tidy_path = "/usr/lib/libtidy.dylib"
+ else
+ @@tidy_path = "/usr/lib/libtidy.so"
+ end
+
+ def initialize
+ Tidy.path = @@tidy_path
+ @tidy = Tidy.new
+
+ @tidy.options.wrap = 0
+ @tidy.options.show_body_only = true
+ @tidy.options.output_xhtml = true
+ @tidy.options.char_encoding = 'utf8'
+ end
+
+ def clean(text)
+ # no-wrapping does not work yet...
+ @tidy.clean(text).tr!("\n",'')
+ end
+end
Added: projects/ogog/trunk/public/pub/test/image/img/atari2600remote.jpg
===================================================================
(Binary files differ)
Property changes on: projects/ogog/trunk/public/pub/test/image/img/atari2600remote.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/ogog/trunk/public/pub/test/image/post.html
===================================================================
--- projects/ogog/trunk/public/pub/test/image/post.html (rev 0)
+++ projects/ogog/trunk/public/pub/test/image/post.html 2007-05-25 10:57:48 UTC (rev 316)
@@ -0,0 +1 @@
+<p><img title='The 2600 joystick goes wireless... kinda' src='http://localhost:3000/pub/test/image/img/atari2600remote.jpg' border='0' alt='Atari 2600 remote'/></p><b>The Atari 2600 joystick is my favourite.</b><p>Alan explains, <em>"I wanted a simple remote that could be used to easily control the volume and mute the TV when the phone rings. I have replaced all of my remotes with a single Harmony 880 control which works great, but I wanted something a bit more cool to compliment it. Building the retro remote was fun and simple since the mini remote that I used was very easy to hack."</em>
Modified: projects/ogog/trunk/public/pub/test/lama/feed/feed.atom
===================================================================
--- projects/ogog/trunk/public/pub/test/lama/feed/feed.atom 2007-05-23 22:16:57 UTC (rev 315)
+++ projects/ogog/trunk/public/pub/test/lama/feed/feed.atom 2007-05-25 10:57:48 UTC (rev 316)
@@ -28,7 +28,7 @@
<category scheme='http://www.blogger.com/atom/ns#' term='Games'></category>
<category scheme='http://www.blogger.com/atom/ns#' term='Virtual worlds'></category>
<title type='text'>MMORPG bubble bursting</title>
- <content type='html'><a href="http://www.technollama.co.uk/Images/atlas1.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.technollama.co.uk/Images/atlas1.jpg" alt="" border="0" /></a><br />One of the most traumatic events for the fledgling field of IT Law was the bursting of the dot-com bubble in 2001, when the artificially inflated electronic commerce market suffered a re-adjustment and a crash to weed out all of the pretenders and irrelevant market dwellers, producing some of the landscape that we see today.<br /><br />The <a href="http://news.bbc.co.uk/1/hi/technology/6431207.stm">BBC reports</a> on the potential for another bubble forming in the MMORPG market, with large media corporations moving in to copy the success of World of Warcraft, and other similar games (City of Heroes pictured). According to the report, several games are offering their own brand of MMORPG without really understanding the marketplace. According to one of those interviewed, there's a lot of silly money sloshing around in the online games environment.<br /><br />I see this as a potentially similar event to the dot-com bubble. I believe that the amount of press awarded to WoW and Second Life is disproportionate to their real importance. Yes, many people are playing, and many people have signed up to Second Life. But let's be honest, SL is a glorified chat room, and its economic importance <a href="http://www.theregister.co.uk/2007/02/20/second_life_analysis/">has been inflated</a>. Similarly, the MMORPG market is limited, as it is geared towards the serious gamer for its long-term survival, and the supply of geeks is limited.<br /><br />Now, where di I put my City of Heroes activation code?</content>
+ <content type='html'>One of the most traumatic events for the fledgling field of IT Law was the bursting of the dot-com bubble in 2001, when the artificially inflated electronic commerce market suffered a re-adjustment and a crash to weed out all of the pretenders and irrelevant market dwellers, producing some of the landscape that we see today.<br /><br />The <a href="http://news.bbc.co.uk/1/hi/technology/6431207.stm">BBC reports</a> on the potential for another bubble forming in the MMORPG market, with large media corporations moving in to copy the success of World of Warcraft, and other similar games (City of Heroes pictured). According to the report, several games are offering their own brand of MMORPG without really understanding the marketplace. According to one of those interviewed, there's a lot of silly money sloshing around in the online games environment.<br /><br />I see this as a potentially similar event to the dot-com bubble. I believe that the amount of press awarded to WoW and Second Life is disproportionate to their real importance. Yes, many people are playing, and many people have signed up to Second Life. But let's be honest, SL is a glorified chat room, and its economic importance <a href="http://www.theregister.co.uk/2007/02/20/second_life_analysis/">has been inflated</a>. Similarly, the MMORPG market is limited, as it is geared towards the serious gamer for its long-term survival, and the supply of geeks is limited.<br /><br />Now, where di I put my City of Heroes activation code?</content>
<link rel='alternate' type='text/html' href='http://localhost:3000/pub/test/lama/posts/post2.html'></link>
<author>
<name>Andres Guadamuz</name>
@@ -42,7 +42,7 @@
<category scheme='http://www.blogger.com/atom/ns#' term='Regulation'></category>
<category scheme='http://www.blogger.com/atom/ns#' term='Privacy'></category>
<title type='text'>Trouble with jurisdiction</title>
- <content type='html'><a href="http://www.tribuneindia.com/2002/20020301/wd4.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://www.tribuneindia.com/2002/20020301/wd4.jpg" alt="" border="0" /></a><br />While listening to the excellent podcast <a href="http://news.bbc.co.uk/1/hi/technology/4849402.stm">Digital Planet</a> from the BBC, I heard a horror story about the problems of regulating cyberspace. While just a couple of days ago I sounded rather optimistic about the prospects of regulating online environments, this story lays bare some of the real problems of enforcing some specific practices conducted online.<br /><br />The story commented on the case of an anonymous worker from a company that is peripherally related to animal testing. His personal details were posted in an American activist website, and since then he has been the subject of constant harassment, abuse, vandalism and death threats. With the UK government's <a href="http://www.metro.co.uk/news/article.html?in_article_id=40038&amp;in_page_id=34">clamp-down</a> on animal protesters in full force, many illegal activities have moved abroad, particularly online activism. Sites like <a href="www.directaction.info">Bite Back</a>, based in the USA, provide propaganda for the activities of the Animal Liberation Front and other organisations. Some of those sites have been posting the personal address and personal details of all sorts of people. The problem for the targets is the lack of regulation with regards to personal privacy in the United States.<br /><br />Imagine you were the target of such an attack. What would you do? The answer is: not much. While posting personal details on a website would definitely contravene Data Protection in the UK (and Europe in general), this is not the case in the U.S., where most of these sites are protected by the First Amendment. If there is a criminal offence being committed in the UK, then the Crown Prosecution Service could seek extradition, but I wonder if the American judiciary would be willing to enforce such a request as the opposing values are privacy vs freedom of speech.<br /><br />Funnily enough (in a perverse way), if we were talking about copyright infringement, the site would remain open only as long as you can say DMCA.</content>
+ <content type='html'>While listening to the excellent podcast <a href="http://news.bbc.co.uk/1/hi/technology/4849402.stm">Digital Planet</a> from the BBC, I heard a horror story about the problems of regulating cyberspace. While just a couple of days ago I sounded rather optimistic about the prospects of regulating online environments, this story lays bare some of the real problems of enforcing some specific practices conducted online.<br /><br />The story commented on the case of an anonymous worker from a company that is peripherally related to animal testing. His personal details were posted in an American activist website, and since then he has been the subject of constant harassment, abuse, vandalism and death threats. With the UK government's <a href="http://www.metro.co.uk/news/article.html?in_article_id=40038&amp;in_page_id=34">clamp-down</a> on animal protesters in full force, many illegal activities have moved abroad, particularly online activism. Sites like <a href="www.directaction.info">Bite Back</a>, based in the USA, provide propaganda for the activities of the Animal Liberation Front and other organisations. Some of those sites have been posting the personal address and personal details of all sorts of people. The problem for the targets is the lack of regulation with regards to personal privacy in the United States.<br /><br />Imagine you were the target of such an attack. What would you do? The answer is: not much. While posting personal details on a website would definitely contravene Data Protection in the UK (and Europe in general), this is not the case in the U.S., where most of these sites are protected by the First Amendment. If there is a criminal offence being committed in the UK, then the Crown Prosecution Service could seek extradition, but I wonder if the American judiciary would be willing to enforce such a request as the opposing values are privacy vs freedom of speech.<br /><br />Funnily enough (in a perverse way), if we were talking about copyright infringement, the site would remain open only as long as you can say DMCA.</content>
<link rel='alternate' type='text/html' href='http://localhost:3000/pub/test/lama/posts/post3.html'></link>
<author>
<name>Andres Guadamuz</name>
Modified: projects/ogog/trunk/public/pub/test/lama/posts/post2.html
===================================================================
--- projects/ogog/trunk/public/pub/test/lama/posts/post2.html 2007-05-23 22:16:57 UTC (rev 315)
+++ projects/ogog/trunk/public/pub/test/lama/posts/post2.html 2007-05-25 10:57:48 UTC (rev 316)
@@ -9,7 +9,7 @@
</h3>
<div class='post-header-line-1'></div>
<div class='post-body'>
- <p><a href="http://www.technollama.co.uk/Images/atlas1.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.technollama.co.uk/Images/atlas1.jpg" alt="" border="0" /></a><br />One of the most traumatic events for the fledgling field of IT Law was the bursting of the dot-com bubble in 2001, when the artificially inflated electronic commerce market suffered a re-adjustment and a crash to weed out all of the pretenders and irrelevant market dwellers, producing some of the landscape that we see today.<br /><br />The <a href="http://news.bbc.co.uk/1/hi/technology/6431207.stm">BBC reports</a> on the potential for another bubble forming in the MMORPG market, with large media corporations moving in to copy the success of World of Warcraft, and other similar games (City of Heroes pictured). According to the report, several games are offering their own brand of MMORPG without really understanding the marketplace. According to one of those interviewed, there's a lot of silly money sloshing around in the online games environment.<br /><br />I see this as a potentially similar event to the dot-com bubble. I believe that the amount of press awarded to WoW and Second Life is disproportionate to their real importance. Yes, many people are playing, and many people have signed up to Second Life. But let's be honest, SL is a glorified chat room, and its economic importance <a href="http://www.theregister.co.uk/2007/02/20/second_life_analysis/">has been inflated</a>. Similarly, the MMORPG market is limited, as it is geared towards the serious gamer for its long-term survival, and the supply of geeks is limited.<br /><br />Now, where di I put my City of Heroes activation code?</p>
+ <p>One of the most traumatic events for the fledgling field of IT Law was the bursting of the dot-com bubble in 2001, when the artificially inflated electronic commerce market suffered a re-adjustment and a crash to weed out all of the pretenders and irrelevant market dwellers, producing some of the landscape that we see today.<br /><br />The <a href="http://news.bbc.co.uk/1/hi/technology/6431207.stm">BBC reports</a> on the potential for another bubble forming in the MMORPG market, with large media corporations moving in to copy the success of World of Warcraft, and other similar games (City of Heroes pictured). According to the report, several games are offering their own brand of MMORPG without really understanding the marketplace. According to one of those interviewed, there's a lot of silly money sloshing around in the online games environment.<br /><br />I see this as a potentially similar event to the dot-com bubble. I believe that the amount of press awarded to WoW and Second Life is disproportionate to their real importance. Yes, many people are playing, and many people have signed up to Second Life. But let's be honest, SL is a glorified chat room, and its economic importance <a href="http://www.theregister.co.uk/2007/02/20/second_life_analysis/">has been inflated</a>. Similarly, the MMORPG market is limited, as it is geared towards the serious gamer for its long-term survival, and the supply of geeks is limited.<br /><br />Now, where di I put my City of Heroes activation code?</p>
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
Modified: projects/ogog/trunk/public/pub/test/lama/posts/post3.html
===================================================================
--- projects/ogog/trunk/public/pub/test/lama/posts/post3.html 2007-05-23 22:16:57 UTC (rev 315)
+++ projects/ogog/trunk/public/pub/test/lama/posts/post3.html 2007-05-25 10:57:48 UTC (rev 316)
@@ -9,7 +9,7 @@
</h3>
<div class='post-header-line-1'></div>
<div class='post-body'>
- <p><a href="http://www.tribuneindia.com/2002/20020301/wd4.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://www.tribuneindia.com/2002/20020301/wd4.jpg" alt="" border="0" /></a><br />While listening to the excellent podcast <a href="http://news.bbc.co.uk/1/hi/technology/4849402.stm">Digital Planet</a> from the BBC, I heard a horror story about the problems of regulating cyberspace. While just a couple of days ago I sounded rather optimistic about the prospects of regulating online environments, this story lays bare some of the real problems of enforcing some specific practices conducted online.<br /><br />The story commented on the case of an anonymous worker from a company that is peripherally related to animal testing. His personal details were posted in an American activist website, and since then he has been the subject of constant harassment, abuse, vandalism and death threats. With the UK government's <a href="http://www.metro.co.uk/news/article.html?in_article_id=40038&in_page_id=34">clamp-down</a> on animal protesters in full force, many illegal activities have moved abroad, particularly online activism. Sites like <a href="www.directaction.info">Bite Back</a>, based in the USA, provide propaganda for the activities of the Animal Liberation Front and other organisations. Some of those sites have been posting the personal address and personal details of all sorts of people. The problem for the targets is the lack of regulation with regards to personal privacy in the United States.<br /><br />Imagine you were the target of such an attack. What would you do? The answer is: not much. While posting personal details on a website would definitely contravene Data Protection in the UK (and Europe in general), this is not the case in the U.S., where most of these sites are protected by the First Amendment. If there is a criminal offence being committed in the UK, then the Crown Prosecution Service could seek extradition, but I wonder if the American judiciary would be willing to enforce such a request as the opposing values are privacy vs freedom of speech.<br /><br />Funnily enough (in a perverse way), if we were talking about copyright infringement, the site would remain open only as long as you can say DMCA.</p>
+ <p>While listening to the excellent podcast <a href="http://news.bbc.co.uk/1/hi/technology/4849402.stm">Digital Planet</a> from the BBC, I heard a horror story about the problems of regulating cyberspace. While just a couple of days ago I sounded rather optimistic about the prospects of regulating online environments, this story lays bare some of the real problems of enforcing some specific practices conducted online.<br /><br />The story commented on the case of an anonymous worker from a company that is peripherally related to animal testing. His personal details were posted in an American activist website, and since then he has been the subject of constant harassment, abuse, vandalism and death threats. With the UK government's <a href="http://www.metro.co.uk/news/article.html?in_article_id=40038&in_page_id=34">clamp-down</a> on animal protesters in full force, many illegal activities have moved abroad, particularly online activism. Sites like <a href="www.directaction.info">Bite Back</a>, based in the USA, provide propaganda for the activities of the Animal Liberation Front and other organisations. Some of those sites have been posting the personal address and personal details of all sorts of people. The problem for the targets is the lack of regulation with regards to personal privacy in the United States.<br /><br />Imagine you were the target of such an attack. What would you do? The answer is: not much. While posting personal details on a website would definitely contravene Data Protection in the UK (and Europe in general), this is not the case in the U.S., where most of these sites are protected by the First Amendment. If there is a criminal offence being committed in the UK, then the Crown Prosecution Service could seek extradition, but I wonder if the American judiciary would be willing to enforce such a request as the opposing values are privacy vs freedom of speech.<br /><br />Funnily enough (in a perverse way), if we were talking about copyright infringement, the site would remain open only as long as you can say DMCA.</p>
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
Deleted: projects/ogog/trunk/public/pub/test/rules.htm
===================================================================
--- projects/ogog/trunk/public/pub/test/rules.htm 2007-05-23 22:16:57 UTC (rev 315)
+++ projects/ogog/trunk/public/pub/test/rules.htm 2007-05-25 10:57:48 UTC (rev 316)
@@ -1,436 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <meta name="description" content="9rules is the world's largest blog community, comprised of hundreds of authors from around the globe, writing on dozens of interesting topics." />
- <meta name="keywords" content="9rules, 9rules Network, blog network, blog community, anime, apple, art, automobiles, business, comics, commentary, design, education, food, for women, games, history, humor, marketing, music, personal, photography, politics, productivity, programming, relationships, religion, science, special interests, sports, technology, the rulers, travel, web 2.0, web++, writing, paul scrivens, mike rundle, tyme white" />
- <meta http-equiv="Content-Language" content="en-us" />
- <meta name="ROBOTS" content="ALL" />
- <meta http-equiv="imagetoolbar" content="false" />
- <meta name="MSSmartTagsPreventParsing" content="true" />
-
- <!-- Stylesheet -->
- <link rel="stylesheet" href="http://9rules.com/styles/ali.css" media="screen" />
-
- <!-- Favicon -->
- <link rel="shortcut icon" href="http://9rules.com/favicon.ico" type="image/ico" />
-
-
-
-<title>The Hedonista at 9rules</title>
-<link rel="stylesheet" href="http://9rules.com/styles/ali_category.css" media="screen" />
-</head>
-<body id="comm_ali" class="communities comm_live">
-
-
-<div id="frame">
- <div id="topnav">
- <div id="mainnav">
- <ul>
- <li class="home"><a href="http://9rules.com/">Home</a></li>
- <li class="notes"><a href="http://9rules.com/notes/">Notes</a></li>
- <li class="live"><a href="http://9rules.com/live/">Live</a></li>
- <li class="topics"><a href="http://9rules.com/topics/">Topics</a></li>
- <li class="my9r"><a href="http://9rules.com/my/">my.9r</a></li>
- <li class="weblog"><a href="http://9rules.com/blog/">Blog</a></li>
- </ul>
- </div>
- <div id="subnav" style="width: 520px;">
-
- <a href="http://9rules.com/register/">Create my.9r Account</a> or <a href="http://9rules.com/login/">Login</a> •
- <a href="http://9rules.com/about/">About</a> • <a href="http://9rules.com/about/contact/">Contact</a> •
- <form method="post" style="display: inline;" action="/topics/"><input type="text" id="q" name="q" class="clipinput" style="width: 110px; margin-right: 4px;" value="" /><input class="submitbutton" type="submit" value="Search »"/></form>
-
-
-
- </div>
- </div>
-
- <div id="masthead">
- <div id="logo">
- <div class="logolink"><a href="http://9rules.com/">9rules.com</a></div>
- <h1><a href="http://9rules.com/">9rules Member</a></h1>
- <div class="ghost">9rules Member</div>
- <h2>9rules members are what keeps us strong.</h2>
-
-
-
- </div>
- <div id="dropdown" style="text-align: right; padding: 5px 7px 0 0;">
- <a href="http://mediatemple.net/"><img src="http://9rules.com/styles/ali_images/greenmt.gif" style="border: 0 !important;" alt="9rules Is Proudly Partnered With (mt) Media Temple" /></a>
-
- </div>
- </div> <!-- end Masthead -->
-
- <div class="aliads">
- <a href="http://9rules.com/my/"><img src="/green/my9r.gif" /></a><a href="http://text-link-ads.com"><img src="/green/textads.gif" /></a><a href="http://auctionads.com"><img src="/green/auction_ads_9r.gif" /></a></div>
- <div id="maincontent">
- <div id="livelistings">
- <h2>The Hedonista Live: <span>Latest Posts</span></h2>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/117759637/food-quote-friday-josh-billings.html">Food Quote Friday: Josh Billings</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/117759637/food-quote-friday-josh-billings.html">May. 18, 2007</a>
-
-
- </h4>
- <p>
- Brekkie at Le Pain Quotidien "Never work before breakfast; if you have to work before breakfast, eat your breakfast... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/117759637/food-quote-friday-josh-billings.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/117265724/grom-good-not-great.html">Grom: Good. Not great.</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/117265724/grom-good-not-great.html">May. 16, 2007</a>
-
-
- </h4>
- <p>
- The avocado gelato at Il Laboratorio del Gelato Sometimes the food is about more than just the food. Flavor is a... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/117265724/grom-good-not-great.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/116974513/taking-on-issues-one-lemon-bar-at-time.html">Taking on the issues, one lemon bar at a time</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/116974513/taking-on-issues-one-lemon-bar-at-time.html">May. 15, 2007</a>
-
-
- </h4>
- <p>
- One Cookie to rule them all, One Cookie to find them, One Cookie to bring them all, and in the darkness bind them For the... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/116974513/taking-on-issues-one-lemon-bar-at-time.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/115908563/food-quote-friday-woody-allen.html">Food Quote Friday: Woody Allen</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/115908563/food-quote-friday-woody-allen.html">May. 11, 2007</a>
-
-
- </h4>
- <p>
- "Why does man kill He kills for food. And not only food: frequently there must be a beverage." — Woody Allen... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/115908563/food-quote-friday-woody-allen.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/115134577/tilapia-sandwich-and-tra-la-la-to-go.html">Tilapia Sandwich and a Tra La La. To go.</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/115134577/tilapia-sandwich-and-tra-la-la-to-go.html">May. 8, 2007</a>
-
-
- </h4>
- <p>
- I wasn't going to say anything. I mean, when you find something good, you don't necessarily want the whole world... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/115134577/tilapia-sandwich-and-tra-la-la-to-go.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/114379569/get-thee-to-donut-plant.html">Get thee to The Donut Plant</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/114379569/get-thee-to-donut-plant.html">May. 5, 2007</a>
-
-
- </h4>
- <p>
- Hola, todos y feliz Cinco de Mayo! Should you happen to be in New York City today, I highly recommend you stop by The... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/114379569/get-thee-to-donut-plant.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/114177597/food-quote-friday-bill-buford.html">Food Quote Friday: Bill Buford</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/114177597/food-quote-friday-bill-buford.html">May. 4, 2007</a>
-
-
- </h4>
- <p>
- "A white truffle, which elsewhere might sell for hundreds of dollars, seemed easier to come by than something fresh and... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/114177597/food-quote-friday-bill-buford.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/114046964/missginsu">Links for 2007-05-03 [del.icio.us]</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/114046964/missginsu">May. 4, 2007</a>
-
-
- </h4>
- <p>
- The case for filet of filly That is of course unless the horse is... dinner. A Corner Deli With International Appeal How... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/114046964/missginsu">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/112992842/forget-foodies-unleash-gastrognomes.html">Forget Foodies. Unleash the GastroGnomes!</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/112992842/forget-foodies-unleash-gastrognomes.html">Apr. 29, 2007</a>
-
-
- </h4>
- <p>
- The New York Times published an article today that features "The Foodie Scene in the Twin Cities," the subhead for which... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/112992842/forget-foodies-unleash-gastrognomes.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/112681012/handy-stuff-coffee-concentrate.html">Handy Stuff: Coffee Concentrate</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/112681012/handy-stuff-coffee-concentrate.html">Apr. 28, 2007</a>
-
-
- </h4>
- <p>
- Q. How do you make coffee concentrate A. Put it in a quiet, well-lit room with minimal distractions. Thanks...... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/112681012/handy-stuff-coffee-concentrate.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/112444858/food-quote-friday-thomas-wolfe.html">Food Quote Friday: Thomas Wolfe</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/112444858/food-quote-friday-thomas-wolfe.html">Apr. 27, 2007</a>
-
-
- </h4>
- <p>
- "There is no sight on earth more appealing than the sight of a woman making dinner for someone she loves." – Thomas... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/112444858/food-quote-friday-thomas-wolfe.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/113952058/missginsu">Links for 2007-04-26 [del.icio.us]</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/113952058/missginsu">Apr. 27, 2007</a>
-
-
- </h4>
- <p>
- Dark Chocolate linked to low blood pressure Yay! <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/113952058/missginsu">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/112151936/got-gloves.html">Got Gloves?</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/112151936/got-gloves.html">Apr. 26, 2007</a>
-
-
- </h4>
- <p>
- Armadillo from "Animalloys: an un-natural history series" at the NYPL Sometimes you run across a shining gem that... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/112151936/got-gloves.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/111473458/missginsu">Links for 2007-04-23 [del.icio.us]</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/111473458/missginsu">Apr. 24, 2007</a>
-
-
- </h4>
- <p>
- www.sweet-meats.com Huggable hams, snuggly sausages. <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/111473458/missginsu">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/111193144/missginsu">Links for 2007-04-22 [del.icio.us]</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/111193144/missginsu">Apr. 23, 2007</a>
-
-
- </h4>
- <p>
- Fruit better than vitamin C alone Eco-Friendly Fuels: The World After Oil Using &quot;an emergency batch of papadum... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/111193144/missginsu">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/110708947/food-quote-friday-chekhov.html">Food Quote Friday: Chekhov</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/110708947/food-quote-friday-chekhov.html">Apr. 20, 2007</a>
-
-
- </h4>
- <p>
- 16 Varieties of Gooseberries from the NYPL "A man wants nothing so badly as a gooseberry farm." - Anton Chekhov Craving... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/110708947/food-quote-friday-chekhov.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/110517394/missginsu">Links for 2007-04-19 [del.icio.us]</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/110517394/missginsu">Apr. 20, 2007</a>
-
-
- </h4>
- <p>
- A dog's life: Cal-restricted diets and lifespan Low cal = long life *sigh* It's so anti-hedonist... Mobile... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/110517394/missginsu">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/110511386/little-social-chit-chat-etc.html">A little social chit-chat, etc.</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/110511386/little-social-chit-chat-etc.html">Apr. 20, 2007</a>
-
-
- </h4>
- <p>
- Dismal weather and long hours at work got you down Haven't seen the chums in a spell Take a cue from the "The... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/110511386/little-social-chit-chat-etc.html">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/110241358/missginsu">Links for 2007-04-18 [del.icio.us]</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/110241358/missginsu">Apr. 19, 2007</a>
-
-
- </h4>
- <p>
- www.eatlocalchallenge.com Sourcing local foods on a budget. Another old idea becomes new. Up until relatively recently, I... <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/110241358/missginsu">MORE »</a></p>
- </div>
-
-
- <div class="eachmemberentry">
- <h3><a href="http://feeds.feedburner.com/~r/TheHedonista/~3/109947424/missginsu">Links for 2007-04-17 [del.icio.us]</a> »</h3>
- <h4>
- <strong><img src="http://9rules.com/9scripts/cache/favicons/en_favicon_413.ico" alt="Site Favicon" /></strong>
- <a href="http://missginsu.com/">The Hedonista</a>
- on <a href="http://feeds.feedburner.com/~r/TheHedonista/~3/109947424/missginsu">Apr. 18, 2007</a>
-
-
- </h4>
- <p>
- CRUSHPAD- Make Your Own Custom Wine All the pleasures of winemaking... sans fresh air or sunshine. <a class="more" href="http://feeds.feedburner.com/~r/TheHedonista/~3/109947424/missginsu">MORE »</a></p>
- </div>
-
- </div>
-
- </div> <!-- end main content -->
- <div id="sidecontent">
- <div class="sidebarbox">
- <h2>The Hedonista Details</h2>
- <ul class="memberdetails">
- <li>Owner: Miss Ginsu</li>
- <li>Member Since: January 4, 2006</li>
- <li><a href="http://missginsu.com/">http://missginsu.com/</a></li>
- <li><a href="http://feeds.feedburner.com/TheHedonista">Subscribe</a>
- </li>
- <li>Communities:
- <a href="http://9rules.com/food/">Food</a> </li>
- <li><img src="/images/network/sites/thehedonista.gif" /></li>
- </ul>
- </div>
-
- <div class="sidebarbox">
- <ul class="memberdetails">
-
- <h2>Fans Of This Member:</h2>
- <li class="images">
- <a href="/my/bloglily/"><img src="http://farm1.static.flickr.com/182/388242918_4fecdd87a0_o.jpg" /></a>
- </li>
- </ul>
- </div>
-
- </div>
-
- <div class="commlistbox bottom" style="clear: both;">
- <h4>9rules members are grouped into Communities for easy browsing:</h4>
- <ul>
-<li><a href="/anime/ ">Anime</a></li>
-
-<li><a href="/apple/ ">Apple</a></li>
-<li><a href="/art/ ">Art</a></li>
-<li><a href="/automobiles/ ">Automobiles</a></li>
-<li><a href="/business/ ">Business</a></li>
-<li><a href="/comics/ ">Comics</a></li>
-<li><a href="/commentary/ ">Commentary</a></li>
-<li><a href="/design/ ">Design</a></li>
-<li><a href="/education/ ">Education</a></li>
-<li><a href="/entertainment/ ">Entertainment</a></li>
-
-<li><a href="/food/ ">Food</a></li>
-<li><a href="/for+women/ ">For Women</a></li>
-<li><a href="/games/ ">Games</a></li>
-<li><a href="/history/ ">History</a></li>
-<li><a href="/humor/ ">Humor</a></li>
-<li><a href="/marketing/ ">Marketing</a></li>
-<li><a href="/music/ ">Music</a></li>
-<li><a href="/personal/ ">Personal</a></li>
-<li><a href="/photography/ ">Photography</a></li>
-
-<li><a href="/politics/ ">Politics</a></li>
-<li><a href="/productivity/ ">Productivity</a></li>
-<li><a href="/programming/ ">Programming</a></li>
-<li><a href="/relationships/ ">Relationships</a></li>
-<li><a href="/religion/ ">Religion</a></li>
-<li><a href="/science/ ">Science</a></li>
-<li><a href="/special+interests/ ">Special Interests</a></li>
-<li><a href="/sports/ ">Sports</a></li>
-<li><a href="/technology/ ">Technology</a></li>
-
-<li><a href="/the+rulers/ ">The Rulers</a></li>
-<li><a href="/travel/ ">Travel</a></li>
-<li><a href="/web++/ ">Web++</a></li>
-<li><a href="/writing/ ">Writing</a></li>
-</ul>
-</div>
-
-<div id="footer">
- <strong>©2005-2007 9rules, Inc.</strong> Member content is copyright that author and is not owned by 9rules, Inc. | <a href="http://9rules.com/about/contact/">Contact us</a> | <a href="http://9rules.com/about/tos/">Terms of Service and Privacy Policy</a></div>
-</div> <!-- #frame -->
-<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
-</script>
-<script type="text/javascript">
-_uacct = "UA-51364-5";
-urchinTracker();
-</script>
-
-</body>
-</html>
Modified: projects/ogog/trunk/test/unit/post_test.rb
===================================================================
--- projects/ogog/trunk/test/unit/post_test.rb 2007-05-23 22:16:57 UTC (rev 315)
+++ projects/ogog/trunk/test/unit/post_test.rb 2007-05-25 10:57:48 UTC (rev 316)
@@ -17,23 +17,43 @@
fixtures AllFixtures
# AllFixtures set in test_helper
+ def test_saving_and_destroying
+ f = Feed.find(feeds(:lamas).id)
+ p = Post.new(:feed => f, :title => 'test', :url => "http://localhost:3000/pub/test/image/post.html",
+ :body => Net::HTTP.get(URI.parse("http://localhost:3000/pub/test/image/post.html")), :published_at => Time.now)
+ assert p.save
+ assert_equal '<p><img src="/var/images/post/' + p.id.to_s + '/atari2600remote.jpg" title="The 2600 joystick goes wireless... kinda" alt="Atari 2600 remote" height="276" width="380" /></p><b>The Atari 2600 joystick is my favourite.</b><p>Alan explains, <em>"I wanted a simple remote that could be used to easily control the volume and mute the TV when the phone rings. I have replaced all of my remotes with a single Harmony 880 control which works great, but I wanted something a bit more cool to compliment it. Building the retro remote was fun and simple since the mini remote that I used was very easy to hack."</em></p>',
+ p.body
+
+ assert_equal '<p><img src="/var/images/post/' + p.id.to_s + '/atari2600remote.jpg" title="The 2600 joystick goes wireless... kinda" alt="Atari 2600 remote" height="276" width="380" /></p><b>The Atari 2600 joystick is my favourite.</b><p>Alan explains, <em>"I wanted a simple remote that could be used to easily control the volume and mute the TV when the phone r</em></p>',
+ p.snippet
+
+ assert File.exists?('public/var/images/post/' + p.id.to_s)
+ assert File.exists?('public/var/images/post/' + p.id.to_s + '/atari2600remote.jpg')
+
+ assert p.destroy
+ assert !File.exists?('public/var/images/post/' + p.id.to_s)
+ end
+
def test_get_tags
- html = URI.parse("http://localhost:3000/pub/test/lama/posts/post1.html")
- assert_equal ["Open content", "Patent abuse", "Software patents"], Post.get_tags(html)
+ url = URI.parse("http://localhost:3000/pub/test/lama/posts/post1.html")
+ assert_equal ["Open content", "Patent abuse", "Software patents"], Post.get_tags(url)
end
def test_set_tags
f = Feed.find(feeds(:lamas).id)
- p = Post.new(:feed => f, :url => "http://localhost:3000/pub/test/lama/posts/post1.html")
- p.save
+ p = Post.new(:feed => f, :title => "kk", :url => "http://localhost:3000/pub/test/lama/posts/post1.html",
+ :body => "bb", :published_at => Time.now)
+ assert p.save
p.set_tags(["Cow", "Farm"])
cow = Tag.or_new_from_s("Cow")
farm = Tag.or_new_from_s("Farm")
overall = Tag.or_new_from_s("Overall")
assert_equal [cow, farm, overall], p.taggings.collect {|ta| ta.tag}
- p = Post.new(:feed => f, :url => "http://localhost:3000/pub/test/lama/posts/post1.html")
- p.save
+ p = Post.new(:feed => f, :title => "kk", :url => "http://localhost:3000/pub/test/lama/posts/post1.html",
+ :body => "bb", :published_at => Time.now)
+ assert p.save
p.set_tags([]) # tags taken from rel=tag links
open_content = Tag.or_new_from_s("Open content")
patent_abuse = Tag.or_new_from_s("Patent abuse")
@@ -42,7 +62,7 @@
end
def test_validation
- p = Post.new(:title => 'Booh', :body => 'Parts are all over')
+ p = Post.new(:title => 'Booh', :body => 'Parts are all over', :published_at => Time.now)
assert !p.valid?
p.url = 'http://www.logilogi.org'
assert p.valid?
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-23 22:17:08
|
Revision: 315
http://logilogi.svn.sourceforge.net/logilogi/?rev=315&view=rev
Author: wybow
Date: 2007-05-23 15:16:57 -0700 (Wed, 23 May 2007)
Log Message:
-----------
Added help-notices...
Modified Paths:
--------------
projects/ogog/trunk/app/controllers/post_controller.rb
Modified: projects/ogog/trunk/app/controllers/post_controller.rb
===================================================================
--- projects/ogog/trunk/app/controllers/post_controller.rb 2007-05-23 17:12:38 UTC (rev 314)
+++ projects/ogog/trunk/app/controllers/post_controller.rb 2007-05-23 22:16:57 UTC (rev 315)
@@ -73,6 +73,16 @@
end
def viewpoint
+ if params[:note]
+ case params[:note]
+ when 'scan'
+ flash.now[:notice] = 'We think that your view is more than a number that can be added. OgOg.org values your insight, so your time is well used if you read and/or scan this article and then <a href="#rating_bar">rate it at the bottom</a>, as we cherish this consideration in everyone.'
+ when 'more'
+ flash.now[:notice] = 'This article is already rated higher than 1, so giving it a 1 would actually lower the current rating. If you think it earns a better rating, have a look at it again, and you can find the full range upto five stars, <a href="#rating_bar">at the bottom</a>.'
+ when 'less'
+ flash.now[:notice] = 'This article is already rated as worse than -1. Giving it a -1 would actually raise the current rating. If you think it should be rated as the horrible -2, give it another chance, and if you still think so you can do so <a href="#rating_bar">at the bottom</a>.'
+ end
+ end
end
# Misc
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-23 17:12:40
|
Revision: 314
http://logilogi.svn.sourceforge.net/logilogi/?rev=314&view=rev
Author: wybow
Date: 2007-05-23 10:12:38 -0700 (Wed, 23 May 2007)
Log Message:
-----------
All on one line now...
Modified Paths:
--------------
projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml
projects/ogog/trunk/app/views/post/_rating_bar_frontpage.rhtml
Modified: projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml 2007-05-23 16:56:32 UTC (rev 313)
+++ projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml 2007-05-23 17:12:38 UTC (rev 314)
@@ -9,6 +9,6 @@
Power: <%= tagging_power(tagging) %>
</td>
<td class="rate">
- <%= link_to_post('Rate & read', post, tagging.tag) %> or quick:
+ <%= link_to_post('Rate & read', post, tagging.tag) %>, quick:
<%= render :partial => 'rating_bar_frontpage', :locals => {:post => post, :tagging => tagging} %>
</td>
Modified: projects/ogog/trunk/app/views/post/_rating_bar_frontpage.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_rating_bar_frontpage.rhtml 2007-05-23 16:56:32 UTC (rev 313)
+++ projects/ogog/trunk/app/views/post/_rating_bar_frontpage.rhtml 2007-05-23 17:12:38 UTC (rev 314)
@@ -2,7 +2,7 @@
<span class="inline_rating">
<% if score < -1 %>
<ul class="more_skulls_or_stars">
- <li><%= link_to_post(image_tag('more_skulls.jpg'), post, tagging.tag, {:note => 'less'}, {:title => 'Quick rating: Already lower than -1, rate in the full range at the full article', :class => "more"}) %></li>
+ <li><%= link_to_post(image_tag('more_skulls.jpg'), post, tagging.tag, {:note => 'less'}, {:title => 'Quick rating: Already lower than -1, rate in the full range via "Rate & read"', :class => "more"}) %></li>
</ul>
<% else %>
<ul class="skull_rating">
@@ -14,7 +14,7 @@
</span><span class="inline_rating<%= (score > 1 ? '' : ' ie_inline_rating_hack') %>">
<% if score > 1 %>
<ul class="more_skulls_or_stars">
- <li><%= link_to_post(image_tag('more_stars.jpg'), post, tagging.tag, {:note => 'more'}, {:title => 'Already higher than 1, rate in the full range at the full article', :class => 'more'}) %></li>
+ <li><%= link_to_post(image_tag('more_stars.jpg'), post, tagging.tag, {:note => 'more'}, {:title => 'Quick rating: Already higher than 1, rate in the full range via "Rate & read"', :class => 'more'}) %></li>
</ul>
<% else %>
<ul class="star_rating">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-23 16:56:44
|
Revision: 313
http://logilogi.svn.sourceforge.net/logilogi/?rev=313&view=rev
Author: wybow
Date: 2007-05-23 09:56:32 -0700 (Wed, 23 May 2007)
Log Message:
-----------
Some more images...
Added Paths:
-----------
projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml
projects/ogog/trunk/public/images/more_skulls.jpg
projects/ogog/trunk/public/images/more_skulls.svg
projects/ogog/trunk/public/images/more_stars.jpg
projects/ogog/trunk/public/images/more_stars.svg
projects/ogog/trunk/public/images/small_skulls.jpg
projects/ogog/trunk/public/images/small_skulls.svg
projects/ogog/trunk/public/images/small_stars.jpg
projects/ogog/trunk/public/images/small_stars.svg
Added: projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml (rev 0)
+++ projects/ogog/trunk/app/views/post/_post_score_block_frontpage.rhtml 2007-05-23 16:56:32 UTC (rev 313)
@@ -0,0 +1,14 @@
+<td rowspan="2" colspan="1" class="score">
+ <% title = 'Rating is done at the bottom of the full article' %>
+ <%= link_to_post(score_image(tagging.score), post, tagging.tag, {:note => 'scan'}, {:title => title}) %>
+ <div class="score">
+ <%= link_to_post(score_nr(tagging.score), post, tagging.tag, {:note => 'scan'}, {:title => title}) %>
+ </div>
+</td>
+<td class="power">
+ Power: <%= tagging_power(tagging) %>
+</td>
+<td class="rate">
+ <%= link_to_post('Rate & read', post, tagging.tag) %> or quick:
+ <%= render :partial => 'rating_bar_frontpage', :locals => {:post => post, :tagging => tagging} %>
+</td>
Added: projects/ogog/trunk/public/images/more_skulls.jpg
===================================================================
(Binary files differ)
Property changes on: projects/ogog/trunk/public/images/more_skulls.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/ogog/trunk/public/images/more_skulls.svg
===================================================================
--- projects/ogog/trunk/public/images/more_skulls.svg (rev 0)
+++ projects/ogog/trunk/public/images/more_skulls.svg 2007-05-23 16:56:32 UTC (rev 313)
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="25"
+ height="25"
+ id="svg24650"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ version="1.0"
+ sodipodi:docbase="/home/wybo/ogog/docs/rating"
+ sodipodi:docname="more_skulls.svg"
+ inkscape:export-filename="/home/wybo/ogog/docs/rating/more_skulls.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs24652">
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15431"
+ id="radialGradient19890"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.943839,0,0,0.94438,-22.34848,2.4353)"
+ cx="36.922077"
+ cy="63.602242"
+ fx="36.922077"
+ fy="63.602242"
+ r="11.922077" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8122"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.943839,0,0,0.94438,-22.34849,-47.56471)"
+ cx="36.922077"
+ cy="63.602242"
+ fx="36.922077"
+ fy="63.602242"
+ r="11.922077" />
+ <linearGradient
+ id="linearGradient15431">
+ <stop
+ style="stop-color:#8300ff;stop-opacity:0.12371134;"
+ offset="0"
+ id="stop15433" />
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1;"
+ offset="1"
+ id="stop15435" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15431"
+ id="radialGradient22675"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.943838,0,0,0.944379,-22.34847,2.435277)"
+ cx="36.922077"
+ cy="63.602242"
+ fx="36.922077"
+ fy="63.602242"
+ r="11.922077" />
+ <linearGradient
+ id="linearGradient8122">
+ <stop
+ id="stop8124"
+ offset="0"
+ style="stop-color:red;stop-opacity:0;" />
+ <stop
+ style="stop-color:red;stop-opacity:0.52156866;"
+ offset="1"
+ id="stop8126" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8122"
+ id="radialGradient22693"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.943838,0,0,0.944379,-22.34847,-22.56469)"
+ cx="36.922077"
+ cy="63.602242"
+ fx="36.922077"
+ fy="63.602242"
+ r="11.922077" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2"
+ inkscape:cx="16.662446"
+ inkscape:cy="-48.918994"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ width="25px"
+ height="25px"
+ showgrid="false"
+ inkscape:window-width="914"
+ inkscape:window-height="731"
+ inkscape:window-x="229"
+ inkscape:window-y="583" />
+ <metadata
+ id="metadata24655">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="fill:url(#radialGradient22639);fill-opacity:1;stroke:#ccc;stroke-width:0.77246439;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 12.579465,1.3873112 C 10.913424,1.3658172 9.2216659,1.6650612 7.8847918,2.2994402 C 4.2863419,4.0069932 1.8093909,7.0092642 1.4371749,10.233065 C 1.0649599,13.456867 2.7514689,16.812444 5.8727818,19.242186 C 6.6893218,19.877811 7.1739609,20.319274 7.4538649,20.73971 C 7.7337698,21.160145 7.8167368,21.554521 7.8167368,22.141937 C 7.8167368,22.535167 7.8564749,22.900294 7.9333728,23.162978 C 7.9718228,23.29432 8.0221679,23.398076 8.0759309,23.476095 C 8.1296949,23.554116 8.1949159,23.612236 8.2703269,23.612236 C 8.4069948,23.612239 8.5153988,23.49215 8.5943189,23.326345 C 8.6732379,23.160538 8.7239169,22.945653 8.7239169,22.700106 C 8.7239169,22.466449 8.7691399,22.251133 8.8405529,22.101096 C 8.9119659,21.95106 9.1296309,21.711257 9.1766518,21.79362 C 9.5613238,22.467478 9.2875289,21.95106 9.3589409,22.101096 C 9.4303549,22.251133 9.4755779,22.466445 9.4755779,22.700106 C 9.4755779,22.945657 9.5262559,23.160543 9.6051749,23.326345 C 9.6840958,23.492145 9.7925049,23.612236 9.9291679,23.612236 C 10.000329,23.612239 10.068847,23.564376 10.123564,23.503323 C 10.178281,23.442274 10.227196,23.360502 10.266121,23.258275 C 10.343975,23.053818 10.382758,22.786543 10.382758,22.482285 C 10.382758,22.187537 10.426915,21.910258 10.499395,21.719908 C 10.535636,21.624732 10.584568,21.551649 10.628992,21.502086 C 10.673416,21.452523 10.55629,21.850082 10.613855,21.583418 C 10.694662,21.209104 10.883753,21.451657 11.017783,21.719908 C 11.090262,21.910254 11.134421,22.187533 11.134421,22.482285 C 11.134421,22.835696 11.207485,23.107202 11.328816,23.299117 C 11.450148,23.491029 11.623422,23.597838 11.795365,23.612236 C 11.967311,23.626634 12.142195,23.539103 12.274879,23.367185 C 12.407555,23.195267 12.500843,22.942969 12.521108,22.591195 C 12.521108,22.591195 12.4483,21.556269 12.665327,21.620599 C 12.757899,21.648041 12.663664,22.591195 12.663664,22.591195 C 12.687081,23.036888 12.853471,23.213352 13.000616,23.3808 C 13.147769,23.548247 13.320774,23.624901 13.49309,23.598621 C 13.665399,23.572344 13.837611,23.437717 13.959638,23.231047 C 14.081659,23.024377 14.160753,22.743461 14.17995,22.373375 C 14.17995,22.373375 13.98165,21.785498 14.223942,21.759805 C 14.346443,21.746813 14.335468,22.373375 14.335468,22.373375 C 14.440828,23.103944 14.779269,23.531754 15.126007,23.585007 C 15.299381,23.611635 15.464571,23.534246 15.592555,23.367185 C 15.720549,23.200125 15.818351,22.945969 15.838793,22.591195 C 15.838793,22.591195 16.054677,21.908048 15.877671,21.951344 C 15.726618,21.98829 15.981349,22.591195 15.981349,22.591195 C 16.050543,22.968602 16.145768,23.231728 16.253506,23.394413 C 16.307371,23.475757 16.372326,23.541687 16.43494,23.571393 C 16.497546,23.6011 16.568588,23.600808 16.629333,23.571393 C 16.750834,23.512564 16.845009,23.350645 16.914448,23.108521 C 16.983886,22.8664 17.018129,22.538526 17.018129,22.128324 C 17.018129,21.525669 17.090125,21.113065 17.355079,20.712483 C 17.620033,20.311899 18.086374,19.918718 18.871364,19.337482 C 22.000471,17.020559 23.896972,13.897555 23.579191,10.65777 C 23.26141,7.4179842 20.767007,4.1501362 17.241696,2.4219652 C 15.877123,1.7530252 14.2455,1.4088062 12.579465,1.3873112 z "
+ id="path22627"
+ sodipodi:nodetypes="cssssssssssssssssssssssssssscscssscscsscscsssssssssc" />
+ <path
+ sodipodi:nodetypes="cssssssssccssssssssscsssssssssc"
+ id="path22629"
+ d="M 16.866935,10.598047 C 15.899644,10.598047 15.354472,10.89383 14.631841,11.795967 C 14.370276,12.122503 14.140649,12.49354 13.970429,12.826177 C 13.800216,13.158808 13.692864,13.447801 13.696743,13.640759 C 13.707163,14.15785 13.93426,14.763876 14.278327,15.317844 C 14.622394,15.871814 15.083421,16.378004 15.56693,16.659513 C 16.210948,17.034481 16.561094,17.145443 17.127,17.064946 C 17.692907,16.984446 18.200077,16.747661 18.828344,16.192325 C 19.940262,15.209481 20.177267,13.810323 19.774845,12.658466 C 19.37242,11.506611 18.322164,10.598051 16.866935,10.598047 z M 7.3103009,10.755624 C 6.2091648,11.180144 5.3406139,12.288079 5.3406139,13.823201 C 5.3406139,14.840524 5.4961589,15.417616 6.3598089,16.18102 C 6.9943908,16.741933 7.4569629,17.05276 7.9401428,17.131369 C 8.4233169,17.209974 8.9200489,17.053578 9.6120849,16.722355 C 10.105486,16.486197 10.614432,15.964832 10.997736,15.363 C 11.381037,14.761171 11.639028,14.087117 11.639028,13.546513 C 11.639028,13.372134 11.525965,13.096406 11.352737,12.776612 C 11.179509,12.456821 10.950952,12.093725 10.68854,11.76612 C 9.8011878,10.661556 8.5710499,10.40848 7.3103009,10.755624 z M 12.520674,17.107365 C 12.701268,17.107369 12.948091,17.184225 13.194574,17.325186 C 13.441058,17.466147 13.537064,18.137348 13.720367,18.350116 C 13.928936,18.592216 13.914392,19.268565 13.849965,19.466453 C 13.649863,20.081085 13.486097,20.051914 13.305654,19.98378 C 12.626233,19.727224 13.311553,18.342336 12.520674,18.342336 C 12.229311,18.34234 12.277408,19.957532 11.99673,19.865145 C 11.716044,19.772757 11.475275,19.644104 11.348744,19.511186 C 11.206738,19.362013 11.160862,19.169514 11.193226,18.953016 C 11.225591,18.736519 11.341253,18.503627 11.50426,18.285937 C 11.830275,17.850555 11.995295,17.107365 12.520674,17.107365 z "
+ style="fill:white;fill-opacity:1;stroke:#ccc;stroke-width:0.77246439;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:19.71819687px;font-style:normal;font-weight:normal;fill:#280b0b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="3.0258987"
+ y="19.281712"
+ id="text22635"
+ transform="scale(0.977483,1.023036)"><tspan
+ sodipodi:role="line"
+ id="tspan22637"
+ x="3.0258987"
+ y="19.281712"><</tspan></text>
+ </g>
+</svg>
Added: projects/ogog/trunk/public/images/more_stars.jpg
===================================================================
(Binary files differ)
Property changes on: projects/ogog/trunk/public/images/more_stars.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/ogog/trunk/public/images/more_stars.svg
===================================================================
--- projects/ogog/trunk/public/images/more_stars.svg (rev 0)
+++ projects/ogog/trunk/public/images/more_stars.svg 2007-05-23 16:56:32 UTC (rev 313)
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="25"
+ height="25"
+ id="svg24581"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ version="1.0"
+ sodipodi:docbase="/home/wybo/ogog/docs/rating"
+ sodipodi:docname="more_stars.svg"
+ inkscape:export-filename="/home/wybo/ogog/docs/rating/more_stars.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs24583">
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2760"
+ id="radialGradient22607"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23690"
+ id="radialGradient22615"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2760"
+ id="radialGradient22735"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23690"
+ id="radialGradient22737"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2760"
+ id="radialGradient22757"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23690"
+ id="radialGradient22759"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2760"
+ id="radialGradient22779"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23690"
+ id="radialGradient22781"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <linearGradient
+ id="linearGradient2760">
+ <stop
+ style="stop-color:yellow;stop-opacity:0;"
+ offset="0"
+ id="stop7221" />
+ <stop
+ id="stop7217"
+ offset="1"
+ style="stop-color:yellow;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2760"
+ id="radialGradient22801"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <linearGradient
+ id="linearGradient23690">
+ <stop
+ id="stop23692"
+ offset="0"
+ style="stop-color:aqua;stop-opacity:0.07843138;" />
+ <stop
+ style="stop-color:#ffc000;stop-opacity:1;"
+ offset="1"
+ id="stop23694" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23690"
+ id="radialGradient22803"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2"
+ inkscape:cx="12.5"
+ inkscape:cy="5.6565003"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ width="25px"
+ height="25px"
+ showgrid="true"
+ inkscape:window-width="914"
+ inkscape:window-height="819"
+ inkscape:window-x="204"
+ inkscape:window-y="107" />
+ <metadata
+ id="metadata24586">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ d="M 226.42857,334.50503 L 177.13666,308.37098 L 127.837,334.4904 L 137.45992,279.53514 L 97.384446,240.71972 L 152.62365,232.88956 L 177.1553,182.78089 L 201.67208,232.89684 L 256.90895,240.7434 L 216.82196,279.54692 L 226.42857,334.50503 z "
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="false"
+ sodipodi:arg2="1.5709448"
+ sodipodi:arg1="0.94262621"
+ sodipodi:r2="41.723091"
+ sodipodi:r1="83.866997"
+ sodipodi:cy="266.64789"
+ sodipodi:cx="177.14285"
+ sodipodi:sides="5"
+ id="path21704"
+ style="opacity:1;fill:url(#radialGradient22607);fill-opacity:1;stroke:#ccc;stroke-width:5.43345356;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="star"
+ transform="matrix(0.139313,0,0,0.146476,-12.17883,-25.38504)" />
+ <text
+ xml:space="preserve"
+ style="font-size:19.81240654px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="5.0784097"
+ y="19.243982"
+ id="text21706"
+ transform="scale(0.975246,1.025382)"><tspan
+ sodipodi:role="line"
+ id="tspan21708"
+ x="5.0784097"
+ y="19.243982">></tspan></text>
+ </g>
+</svg>
Added: projects/ogog/trunk/public/images/small_skulls.jpg
===================================================================
(Binary files differ)
Property changes on: projects/ogog/trunk/public/images/small_skulls.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/ogog/trunk/public/images/small_skulls.svg
===================================================================
--- projects/ogog/trunk/public/images/small_skulls.svg (rev 0)
+++ projects/ogog/trunk/public/images/small_skulls.svg 2007-05-23 16:56:32 UTC (rev 313)
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="25"
+ height="75"
+ id="svg24650"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ version="1.0"
+ sodipodi:docbase="/home/wybo/ogog/docs/rating"
+ sodipodi:docname="small_skulls.svg"
+ inkscape:export-filename="/home/wybo/ogog/docs/rating/small_skulls.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs24652">
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15431"
+ id="radialGradient19890"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.943839,0,0,0.94438,-22.34848,2.4353)"
+ cx="36.922077"
+ cy="63.602242"
+ fx="36.922077"
+ fy="63.602242"
+ r="11.922077" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8122"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.943839,0,0,0.94438,-22.34849,-22.56471)"
+ cx="36.922077"
+ cy="63.602242"
+ fx="36.922077"
+ fy="63.602242"
+ r="11.922077" />
+ <linearGradient
+ id="linearGradient15431">
+ <stop
+ style="stop-color:#8300ff;stop-opacity:0.12371134;"
+ offset="0"
+ id="stop15433" />
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1;"
+ offset="1"
+ id="stop15435" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15431"
+ id="radialGradient22675"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.943838,0,0,0.944379,-22.34847,2.435277)"
+ cx="36.922077"
+ cy="63.602242"
+ fx="36.922077"
+ fy="63.602242"
+ r="11.922077" />
+ <linearGradient
+ id="linearGradient8122">
+ <stop
+ id="stop8124"
+ offset="0"
+ style="stop-color:red;stop-opacity:0;" />
+ <stop
+ style="stop-color:red;stop-opacity:0.52156866;"
+ offset="1"
+ id="stop8126" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8122"
+ id="radialGradient22693"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.943838,0,0,0.944379,-22.34847,-22.56469)"
+ cx="36.922077"
+ cy="63.602242"
+ fx="36.922077"
+ fy="63.602242"
+ r="11.922077" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6568542"
+ inkscape:cx="16.662446"
+ inkscape:cy="40.578481"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ width="25px"
+ height="75px"
+ showgrid="true"
+ inkscape:window-width="914"
+ inkscape:window-height="731"
+ inkscape:window-x="260"
+ inkscape:window-y="199" />
+ <metadata
+ id="metadata24655">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="fill:url(#radialGradient19890);fill-opacity:1;stroke:#ccc;stroke-width:0.77246433;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 12.579459,51.387312 C 10.913423,51.365818 9.2216649,51.665061 7.8847918,52.29944 C 4.2863419,54.006993 1.8093919,57.009265 1.4371749,60.233065 C 1.0649609,63.456868 2.7514699,66.812444 5.8727818,69.242186 C 6.6893218,69.877812 7.1739609,70.319276 7.4538649,70.739712 C 7.7337698,71.160146 7.8167368,71.554523 7.8167368,72.14194 C 7.8167368,72.535168 7.8564739,72.900295 7.9333728,73.162979 C 7.9718228,73.294321 8.0221669,73.398077 8.0759309,73.476097 C 8.1296949,73.554117 8.1949159,73.612236 8.2703269,73.612236 C 8.4069938,73.61224 8.5153988,73.492151 8.5943179,73.326345 C 8.6732379,73.160538 8.7239159,72.945655 8.7239159,72.700107 C 8.7239159,72.466449 8.7691399,72.251133 8.8405529,72.101097 C 8.9119659,71.951061 9.1296309,71.711259 9.1766508,71.793621 C 9.5613229,72.467479 9.2875279,71.951061 9.3589409,72.101097 C 9.4303539,72.251133 9.4755779,72.466445 9.4755779,72.700107 C 9.4755779,72.945658 9.5262559,73.160543 9.6051749,73.326345 C 9.6840948,73.492146 9.7925049,73.612236 9.9291679,73.612236 C 10.000328,73.61224 10.068847,73.564377 10.123563,73.503324 C 10.17828,73.442274 10.227195,73.360504 10.26612,73.258275 C 10.343974,73.053819 10.382757,72.786544 10.382757,72.482285 C 10.382757,72.187538 10.426915,71.910259 10.499395,71.71991 C 10.535636,71.624733 10.584567,71.55165 10.628992,71.502087 C 10.673415,71.452524 10.556289,71.850083 10.613855,71.583419 C 10.694661,71.209105 10.883753,71.451657 11.017783,71.71991 C 11.090262,71.910255 11.13442,72.187535 11.13442,72.482285 C 11.13442,72.835696 11.207485,73.107204 11.328816,73.299117 C 11.450147,73.49103 11.623422,73.597839 11.795364,73.612236 C 11.967307,73.626635 12.142195,73.539104 12.274873,73.367186 C 12.407548,73.195268 12.500837,72.942969 12.52111,72.591196 C 12.52111,72.591196 12.448303,71.55627 12.665329,71.6206 C 12.757901,71.648041 12.663668,72.591196 12.663668,72.591196 C 12.687075,73.03689 12.853464,73.213353 13.000618,73.380801 C 13.147771,73.548248 13.320776,73.624901 13.493084,73.598622 C 13.665401,73.572345 13.837614,73.437719 13.959633,73.231047 C 14.081652,73.024378 14.160756,72.743462 14.179952,72.373375 C 14.179952,72.373375 13.981653,71.7855 14.223945,71.759805 C 14.346436,71.746815 14.33547,72.373375 14.33547,72.373375 C 14.44082,73.103944 14.779271,73.531755 15.126008,73.585007 C 15.299373,73.611636 15.464572,73.534247 15.592558,73.367186 C 15.720542,73.200126 15.818352,72.945971 15.838796,72.591196 C 15.838796,72.591196 16.05468,71.908048 15.877673,71.951346 C 15.726621,71.98829 15.981353,72.591196 15.981353,72.591196 C 16.050546,72.968603 16.145761,73.231728 16.253498,73.394415 C 16.307364,73.475757 16.372327,73.541688 16.434932,73.571394 C 16.497548,73.601101 16.56858,73.600809 16.629335,73.571394 C 16.750836,73.512565 16.845012,73.350645 16.914451,73.108523 C 16.983887,72.866402 17.018122,72.538527 17.018122,72.128325 C 17.018122,71.525669 17.090118,71.113068 17.355081,70.712483 C 17.620025,70.3119 18.086376,69.91872 18.871357,69.337484 C 22.000462,67.020561 23.896974,63.897556 23.579193,60.657771 C 23.261412,57.417986 20.767009,54.150137 17.241698,52.421966 C 15.877116,51.753025 14.245493,51.408807 12.579459,51.387312 z "
+ id="path19882"
+ sodipodi:nodetypes="cssssssssssssssssssssssssssscscssscscsscscsssssssssc"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ sodipodi:nodetypes="cssssssssccssssssssscsssssssssc"
+ id="path13641"
+ d="M 16.866936,60.598048 C 15.899645,60.598048 15.354464,60.893832 14.631835,61.795967 C 14.370278,62.122505 14.140651,62.493541 13.970431,62.826177 C 13.800209,63.158809 13.692857,63.447801 13.696746,63.64076 C 13.707165,64.157852 13.934255,64.763878 14.27833,65.317846 C 14.622397,65.871814 15.083414,66.378006 15.566932,66.659514 C 16.210951,67.034481 16.561097,67.145445 17.127001,67.064947 C 17.692909,66.984446 18.20008,66.747663 18.828347,66.192326 C 19.940253,65.209482 20.17727,63.810323 19.774846,62.658466 C 19.372421,61.506613 18.322157,60.598052 16.866936,60.598048 z M 7.3103009,60.755624 C 6.2091658,61.180145 5.3406139,62.28808 5.3406139,63.823201 C 5.3406139,64.840524 5.4961589,65.417618 6.3598099,66.181022 C 6.9943908,66.741935 7.4569629,67.052761 7.9401428,67.13137 C 8.4233159,67.209975 8.9200489,67.053579 9.6120839,66.722356 C 10.105485,66.486198 10.614431,65.964833 10.997735,65.363001 C 11.381036,64.761172 11.639027,64.087118 11.639027,63.546514 C 11.639027,63.372134 11.525965,63.096407 11.352737,62.776614 C 11.179508,62.456821 10.950952,62.093726 10.68854,61.766121 C 9.8011878,60.661556 8.5710489,60.408481 7.3103009,60.755624 z M 12.520667,67.107366 C 12.701271,67.10737 12.948094,67.184227 13.194577,67.325187 C 13.441061,67.466148 13.537067,68.137349 13.72037,68.350117 C 13.928939,68.592217 13.914385,69.268567 13.849968,69.466456 C 13.649865,70.081086 13.4861,70.051916 13.305657,69.983782 C 12.626235,69.727226 13.311546,68.342338 12.520667,68.342338 C 12.229314,68.342341 12.277411,69.957533 11.996728,69.865147 C 11.716043,69.772759 11.475275,69.644105 11.348743,69.511186 C 11.206737,69.362013 11.160862,69.169516 11.193226,68.953017 C 11.22559,68.73652 11.341253,68.503629 11.504259,68.285938 C 11.830271,67.850557 11.995296,67.107366 12.520667,67.107366 z "
+ style="fill:white;fill-opacity:1;stroke:#ccc;stroke-width:0.77246433;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:url(#radialGradient22639);fill-opacity:1;stroke:#ccc;stroke-width:0.77246439;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 12.579465,26.387312 C 10.913424,26.365818 9.2216659,26.665062 7.8847918,27.299441 C 4.2863419,29.006994 1.8093909,32.009265 1.4371749,35.233066 C 1.0649599,38.456868 2.7514689,41.812445 5.8727818,44.242187 C 6.6893218,44.877812 7.1739609,45.319275 7.4538649,45.739711 C 7.7337698,46.160146 7.8167368,46.554522 7.8167368,47.141938 C 7.8167368,47.535168 7.8564749,47.900295 7.9333728,48.162979 C 7.9718228,48.294321 8.0221679,48.398077 8.0759309,48.476096 C 8.1296949,48.554117 8.1949159,48.612237 8.2703269,48.612237 C 8.4069948,48.61224 8.5153988,48.492151 8.5943189,48.326346 C 8.6732379,48.160539 8.7239169,47.945654 8.7239169,47.700107 C 8.7239169,47.46645 8.7691399,47.251134 8.8405529,47.101097 C 8.9119659,46.951061 9.1296309,46.711258 9.1766518,46.793621 C 9.5613238,47.467479 9.2875289,46.951061 9.3589409,47.101097 C 9.4303549,47.251134 9.4755779,47.466446 9.4755779,47.700107 C 9.4755779,47.945658 9.5262559,48.160544 9.6051749,48.326346 C 9.6840958,48.492146 9.7925049,48.612237 9.9291679,48.612237 C 10.000329,48.61224 10.068847,48.564377 10.123564,48.503324 C 10.178281,48.442275 10.227196,48.360503 10.266121,48.258276 C 10.343975,48.053819 10.382758,47.786544 10.382758,47.482286 C 10.382758,47.187538 10.426915,46.910259 10.499395,46.719909 C 10.535636,46.624733 10.584568,46.55165 10.628992,46.502087 C 10.673416,46.452524 10.55629,46.850083 10.613855,46.583419 C 10.694662,46.209105 10.883753,46.451658 11.017783,46.719909 C 11.090262,46.910255 11.134421,47.187534 11.134421,47.482286 C 11.134421,47.835697 11.207485,48.107203 11.328816,48.299118 C 11.450148,48.49103 11.623422,48.597839 11.795365,48.612237 C 11.967311,48.626635 12.142195,48.539104 12.274879,48.367186 C 12.407555,48.195268 12.500843,47.94297 12.521108,47.591196 C 12.521108,47.591196 12.4483,46.55627 12.665327,46.6206 C 12.757899,46.648042 12.663664,47.591196 12.663664,47.591196 C 12.687081,48.036889 12.853471,48.213353 13.000616,48.380801 C 13.147769,48.548248 13.320774,48.624902 13.49309,48.598622 C 13.665399,48.572345 13.837611,48.437718 13.959638,48.231048 C 14.081659,48.024378 14.160753,47.743462 14.17995,47.373376 C 14.17995,47.373376 13.98165,46.785499 14.223942,46.759806 C 14.346443,46.746814 14.335468,47.373376 14.335468,47.373376 C 14.440828,48.103945 14.779269,48.531755 15.126007,48.585008 C 15.299381,48.611636 15.464571,48.534247 15.592555,48.367186 C 15.720549,48.200126 15.818351,47.94597 15.838793,47.591196 C 15.838793,47.591196 16.054677,46.908049 15.877671,46.951345 C 15.726618,46.988291 15.981349,47.591196 15.981349,47.591196 C 16.050543,47.968603 16.145768,48.231729 16.253506,48.394414 C 16.307371,48.475758 16.372326,48.541688 16.43494,48.571394 C 16.497546,48.601101 16.568588,48.600809 16.629333,48.571394 C 16.750834,48.512565 16.845009,48.350646 16.914448,48.108522 C 16.983886,47.866401 17.018129,47.538527 17.018129,47.128325 C 17.018129,46.52567 17.090125,46.113066 17.355079,45.712484 C 17.620033,45.3119 18.086374,44.918719 18.871364,44.337483 C 22.000471,42.02056 23.896972,38.897556 23.579191,35.657771 C 23.26141,32.417985 20.767007,29.150137 17.241696,27.421966 C 15.877123,26.753026 14.2455,26.408807 12.579465,26.387312 z "
+ id="path22627"
+ sodipodi:nodetypes="cssssssssssssssssssssssssssscscssscscsscscsssssssssc" />
+ <path
+ sodipodi:nodetypes="cssssssssccssssssssscsssssssssc"
+ id="path22629"
+ d="M 16.866935,35.598048 C 15.899644,35.598048 15.354472,35.893831 14.631841,36.795968 C 14.370276,37.122504 14.140649,37.493541 13.970429,37.826178 C 13.800216,38.158809 13.692864,38.447802 13.696743,38.64076 C 13.707163,39.157851 13.93426,39.763877 14.278327,40.317845 C 14.622394,40.871815 15.083421,41.378005 15.56693,41.659514 C 16.210948,42.034482 16.561094,42.145444 17.127,42.064947 C 17.692907,41.984447 18.200077,41.747662 18.828344,41.192326 C 19.940262,40.209482 20.177267,38.810324 19.774845,37.658467 C 19.37242,36.506612 18.322164,35.598052 16.866935,35.598048 z M 7.3103009,35.755625 C 6.2091648,36.180145 5.3406139,37.28808 5.3406139,38.823202 C 5.3406139,39.840525 5.4961589,40.417617 6.3598089,41.181021 C 6.9943908,41.741934 7.4569629,42.052761 7.9401428,42.13137 C 8.4233169,42.209975 8.9200489,42.053579 9.6120849,41.722356 C 10.105486,41.486198 10.614432,40.964833 10.997736,40.363001 C 11.381037,39.761172 11.639028,39.087118 11.639028,38.546514 C 11.639028,38.372135 11.525965,38.096407 11.352737,37.776613 C 11.179509,37.456822 10.950952,37.093726 10.68854,36.766121 C 9.8011878,35.661557 8.5710499,35.408481 7.3103009,35.755625 z M 12.520674,42.107366 C 12.701268,42.10737 12.948091,42.184226 13.194574,42.325187 C 13.441058,42.466148 13.537064,43.137349 13.720367,43.350117 C 13.928936,43.592217 13.914392,44.268566 13.849965,44.466454 C 13.649863,45.081086 13.486097,45.051915 13.305654,44.983781 C 12.626233,44.727225 13.311553,43.342337 12.520674,43.342337 C 12.229311,43.342341 12.277408,44.957533 11.99673,44.865146 C 11.716044,44.772758 11.475275,44.644105 11.348744,44.511187 C 11.206738,44.362014 11.160862,44.169515 11.193226,43.953017 C 11.225591,43.73652 11.341253,43.503628 11.50426,43.285938 C 11.830275,42.850556 11.995295,42.107366 12.520674,42.107366 z "
+ style="fill:white;fill-opacity:1;stroke:#ccc;stroke-width:0.77246439;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#ccc;stroke-width:0.77246439;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 12.579465,1.3873121 C 10.913424,1.3658181 9.2216659,1.6650611 7.8847918,2.2994401 C 4.2863419,4.0069931 1.8093909,7.009264 1.4371749,10.233065 C 1.0649599,13.456869 2.7514689,16.812443 5.8727818,19.242187 C 6.6893218,19.877813 7.1739609,20.319275 7.4538649,20.739711 C 7.7337698,21.160146 7.8167368,21.554522 7.8167368,22.141938 C 7.8167368,22.535169 7.8564749,22.900296 7.9333728,23.162979 C 7.9718228,23.294321 8.0221679,23.398078 8.0759309,23.476096 C 8.1296949,23.554118 8.1949159,23.612237 8.2703269,23.612237 C 8.4069948,23.612241 8.5153988,23.492151 8.5943189,23.326345 C 8.6732379,23.160538 8.7239169,22.945654 8.7239169,22.700107 C 8.7239169,22.466449 8.7691399,22.251133 8.8405529,22.101097 C 8.9119659,21.951062 9.1296309,21.711258 9.1766518,21.793621 C 9.5613238,22.467479 9.2875289,21.951062 9.3589409,22.101097 C 9.4303549,22.251133 9.4755779,22.466446 9.4755779,22.700107 C 9.4755779,22.945658 9.5262559,23.160543 9.6051749,23.326345 C 9.6840958,23.492146 9.7925049,23.612237 9.9291679,23.612237 C 10.000329,23.612241 10.068847,23.564377 10.123564,23.503325 C 10.178281,23.442274 10.227196,23.360503 10.266121,23.258275 C 10.343975,23.05382 10.382758,22.786544 10.382758,22.482285 C 10.382758,22.187538 10.426915,21.91026 10.499395,21.71991 C 10.535636,21.624733 10.584568,21.55165 10.628992,21.502088 C 10.673416,21.452525 10.55629,21.850084 10.613855,21.58342 C 10.694662,21.209105 10.883753,21.451657 11.017783,21.71991 C 11.090262,21.910255 11.134421,22.187534 11.134421,22.482285 C 11.134421,22.835697 11.207485,23.107203 11.328816,23.299117 C 11.450148,23.491031 11.623422,23.59784 11.795365,23.612237 C 11.967311,23.626636 12.142195,23.539104 12.274879,23.367186 C 12.407555,23.195269 12.500843,22.942969 12.521108,22.591196 C 12.521108,22.591196 12.4483,21.55627 12.665327,21.620601 C 12.757899,21.648041 12.663664,22.591196 12.663664,22.591196 C 12.687081,23.036889 12.853471,23.213354 13.000616,23.380801 C 13.147769,23.548249 13.320774,23.624901 13.49309,23.598623 C 13.665399,23.572345 13.837611,23.437718 13.959638,23.231048 C 14.081659,23.024378 14.160753,22.743463 14.17995,22.373376 C 14.17995,22.373376 13.98165,21.785499 14.223942,21.759806 C 14.346443,21.746814 14.335468,22.373376 14.335468,22.373376 C 14.440828,23.103944 14.779269,23.531756 15.126007,23.585008 C 15.299381,23.611636 15.464571,23.534247 15.592555,23.367186 C 15.720549,23.200126 15.818351,22.94597 15.838793,22.591196 C 15.838793,22.591196 16.054677,21.908048 15.877671,21.951345 C 15.726618,21.98829 15.981349,22.591196 15.981349,22.591196 C 16.050543,22.968604 16.145768,23.231728 16.253506,23.394414 C 16.307371,23.475757 16.372326,23.541689 16.43494,23.571395 C 16.497546,23.601101 16.568588,23.600809 16.629333,23.571395 C 16.750834,23.512566 16.845009,23.350645 16.914448,23.108522 C 16.983886,22.866401 17.018129,22.538527 17.018129,22.128326 C 17.018129,21.525669 17.090125,21.113066 17.355079,20.712483 C 17.620033,20.311901 18.086374,19.918718 18.871364,19.337483 C 22.000471,17.02056 23.896972,13.897556 23.579191,10.657771 C 23.26141,7.4179847 20.767007,4.1501371 17.241696,2.4219671 C 15.877123,1.7530261 14.2455,1.4088071 12.579465,1.3873121 z "
+ id="path22645"
+ sodipodi:nodetypes="cssssssssssssssssssssssssssscscssscscsscscsssssssssc" />
+ <path
+ sodipodi:nodetypes="cssssssssccssssssssscsssssssssc"
+ id="path22647"
+ d="M 16.866935,10.598047 C 15.899644,10.598047 15.354472,10.893831 14.631841,11.795967 C 14.370276,12.122504 14.140649,12.493542 13.970429,12.826178 C 13.800216,13.158808 13.692864,13.447802 13.696743,13.640761 C 13.707163,14.157851 13.93426,14.763877 14.278327,15.317845 C 14.622394,15.871814 15.083421,16.378005 15.56693,16.659513 C 16.210948,17.034482 16.561094,17.145444 17.127,17.064948 C 17.692907,16.984446 18.200077,16.747662 18.828344,16.192326 C 19.940262,15.209483 20.177267,13.810322 19.774845,12.658466 C 19.37242,11.506611 18.322164,10.598051 16.866935,10.598047 z M 7.3103009,10.755624 C 6.2091648,11.180145 5.3406139,12.288079 5.3406139,13.823201 C 5.3406139,14.840523 5.4961589,15.417617 6.3598089,16.181021 C 6.9943908,16.741934 7.4569629,17.052762 7.9401428,17.13137 C 8.4233169,17.209975 8.9200489,17.05358 9.6120849,16.722356 C 10.105486,16.486199 10.614432,15.964834 10.997736,15.363001 C 11.381037,14.761172 11.639028,14.087118 11.639028,13.546514 C 11.639028,13.372134 11.525965,13.096407 11.352737,12.776613 C 11.179509,12.456821 10.950952,12.093725 10.68854,11.76612 C 9.8011878,10.661556 8.5710499,10.408481 7.3103009,10.755624 z M 12.520674,17.107366 C 12.701268,17.107371 12.948091,17.184226 13.194574,17.325186 C 13.441058,17.466148 13.537064,18.137349 13.720367,18.350118 C 13.928936,18.592217 13.914392,19.268566 13.849965,19.466454 C 13.649863,20.081086 13.486097,20.051915 13.305654,19.983781 C 12.626233,19.727225 13.311553,18.342337 12.520674,18.342337 C 12.229311,18.342341 12.277408,19.957534 11.99673,19.865146 C 11.716044,19.772758 11.475275,19.644106 11.348744,19.511187 C 11.206738,19.362014 11.160862,19.169514 11.193226,18.953017 C 11.225591,18.736521 11.341253,18.503628 11.50426,18.285938 C 11.830275,17.850556 11.995295,17.107366 12.520674,17.107366 z "
+ style="fill:white;fill-opacity:1;stroke:#ccc;stroke-width:0.77246439;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:19.71807671px;font-style:normal;font-weight:normal;fill:#999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="2.4870882"
+ y="21.099892"
+ id="text22653"
+ transform="scale(0.977483,1.023036)"><tspan
+ sodipodi:role="line"
+ id="tspan22655"
+ x="2.4870882"
+ y="21.099892">-1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:19.71807861px;font-style:normal;font-weight:normal;fill:#a00;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="2.4870994"
+ y="69.974075"
+ id="text22623"
+ transform="scale(0.977483,1.023036)"><tspan
+ sodipodi:role="line"
+ id="tspan22625"
+ x="2.4870994"
+ y="69.974075">-1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:19.7180748px;font-style:normal;font-weight:normal;fill:#280b0b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="2.4870882"
+ y="45.536983"
+ id="text22635"
+ transform="scale(0.977483,1.023036)"><tspan
+ sodipodi:role="line"
+ id="tspan22637"
+ x="2.4870882"
+ y="45.536983">-1</tspan></text>
+ </g>
+</svg>
Added: projects/ogog/trunk/public/images/small_stars.jpg
===================================================================
(Binary files differ)
Property changes on: projects/ogog/trunk/public/images/small_stars.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: projects/ogog/trunk/public/images/small_stars.svg
===================================================================
--- projects/ogog/trunk/public/images/small_stars.svg (rev 0)
+++ projects/ogog/trunk/public/images/small_stars.svg 2007-05-23 16:56:32 UTC (rev 313)
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="25"
+ height="75"
+ id="svg24581"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ version="1.0"
+ sodipodi:docbase="/home/wybo/ogog/docs/rating"
+ sodipodi:docname="small_stars.svg"
+ inkscape:export-filename="/home/wybo/ogog/docs/rating/small_stars.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs24583">
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2760"
+ id="radialGradient22607"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23690"
+ id="radialGradient22615"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2760"
+ id="radialGradient22735"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23690"
+ id="radialGradient22737"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2760"
+ id="radialGradient22757"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23690"
+ id="radialGradient22759"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2760"
+ id="radialGradient22779"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23690"
+ id="radialGradient22781"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <linearGradient
+ id="linearGradient2760">
+ <stop
+ style="stop-color:yellow;stop-opacity:0;"
+ offset="0"
+ id="stop7221" />
+ <stop
+ id="stop7217"
+ offset="1"
+ style="stop-color:yellow;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2760"
+ id="radialGradient22801"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ <linearGradient
+ id="linearGradient23690">
+ <stop
+ id="stop23692"
+ offset="0"
+ style="stop-color:aqua;stop-opacity:0.07843138;" />
+ <stop
+ style="stop-color:#ffc000;stop-opacity:1;"
+ offset="1"
+ id="stop23694" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23690"
+ id="radialGradient22803"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ cx="177.1467"
+ cy="258.64297"
+ fx="177.1467"
+ fy="258.64297"
+ r="82.478981" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="6.56"
+ inkscape:cx="31.380185"
+ inkscape:cy="33.188693"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ width="25px"
+ height="75px"
+ showgrid="true"
+ inkscape:window-width="914"
+ inkscape:window-height="819"
+ inkscape:window-x="204"
+ inkscape:window-y="107" />
+ <metadata
+ id="metadata24586">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ d="M 226.42857,334.50503 L 177.13666,308.37098 L 127.837,334.4904 L 137.45992,279.53514 L 97.384446,240.71972 L 152.62365,232.88956 L 177.1553,182.78089 L 201.67208,232.89684 L 256.90895,240.7434 L 216.82196,279.54692 L 226.42857,334.50503 z "
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="false"
+ sodipodi:arg2="1.5709448"
+ sodipodi:arg1="0.94262621"
+ sodipodi:r2="41.723091"
+ sodipodi:r1="83.866997"
+ sodipodi:cy="266.64789"
+ sodipodi:cx="177.14285"
+ sodipodi:sides="5"
+ id="path2770"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#ccc;stroke-width:5.43345356;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="star"
+ transform="matrix(0.139313,0,0,0.146476,-12.17883,-25.38498)" />
+ <text
+ xml:space="preserve"
+ style="font-size:19.81240463px;font-style:normal;font-weight:normal;fill:#999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="6.403975"
+ y="21.34532"
+ id="text21700"
+ transform="scale(0.975246,1.025382)"><tspan
+ sodipodi:role="line"
+ id="tspan21702"
+ x="6.403975"
+ y="21.34532">1</tspan></text>
+ <path
+ d="M 226.42857,334.50503 L 177.13666,308.37098 L 127.837,334.4904 L 137.45992,279.53514 L 97.384446,240.71972 L 152.62365,232.88956 L 177.1553,182.78089 L 201.67208,232.89684 L 256.90895,240.7434 L 216.82196,279.54692 L 226.42857,334.50503 z "
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="false"
+ sodipodi:arg2="1.5709448"
+ sodipodi:arg1="0.94262621"
+ sodipodi:r2="41.723091"
+ sodipodi:r1="83.866997"
+ sodipodi:cy="266.64789"
+ sodipodi:cx="177.14285"
+ sodipodi:sides="5"
+ id="path21704"
+ style="opacity:1;fill:url(#radialGradient22607);fill-opacity:1;stroke:#ccc;stroke-width:5.43345356;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="star"
+ transform="matrix(0.139313,0,0,0.146476,-12.17883,-0.385013)" />
+ <text
+ xml:space="preserve"
+ style="font-size:19.81243706px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="6.403976"
+ y="45.726418"
+ id="text21706"
+ transform="scale(0.975246,1.025382)"><tspan
+ sodipodi:role="line"
+ id="tspan21708"
+ x="6.403976"
+ y="45.726418">1</tspan></text>
+ <path
+ d="M 226.42857,334.50503 L 177.13666,308.37098 L 127.837,334.4904 L 137.45992,279.53514 L 97.384446,240.71972 L 152.62365,232.88956 L 177.1553,182.78089 L 201.67208,232.89684 L 256.90895,240.7434 L 216.82196,279.54692 L 226.42857,334.50503 z "
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="false"
+ sodipodi:arg2="1.5709448"
+ sodipodi:arg1="0.94262621"
+ sodipodi:r2="41.723091"
+ sodipodi:r1="83.866997"
+ sodipodi:cy="266.64789"
+ sodipodi:cx="177.14285"
+ sodipodi:sides="5"
+ id="path21710"
+ style="opacity:1;fill:url(#radialGradient22615);fill-opacity:1;stroke:#ccc;stroke-width:5.43345356;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="star"
+ transform="matrix(0.139313,0,0,0.146476,-12.17883,24.61496)" />
+ <text
+ xml:space="preserve"
+ style="font-size:19.81246376px;font-style:normal;font-weight:normal;fill:navy;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="6.4039993"
+ y="70.107544"
+ id="text21712"
+ transform="scale(0.975245,1.025383)"><tspan
+ sodipodi:role="line"
+ id="tspan21714"
+ x="6.4039993"
+ y="70.107544">1</tspan></text>
+ </g>
+</svg>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-23 16:48:45
|
Revision: 312
http://logilogi.svn.sourceforge.net/logilogi/?rev=312&view=rev
Author: wybow
Date: 2007-05-23 09:48:36 -0700 (Wed, 23 May 2007)
Log Message:
-----------
A few other usabillity improvements...
Modified Paths:
--------------
projects/ogog/trunk/app/controllers/post_controller.rb
projects/ogog/trunk/app/helpers/application_helper.rb
projects/ogog/trunk/app/views/post/_post.rhtml
projects/ogog/trunk/app/views/post/_rating_bar.rhtml
projects/ogog/trunk/app/views/post/index.rhtml
projects/ogog/trunk/app/views/post/rate.rjs
projects/ogog/trunk/app/views/post/viewpoint.rhtml
projects/ogog/trunk/lib/tasks/do_update.rake
projects/ogog/trunk/public/stylesheets/ogog-ie.css
projects/ogog/trunk/public/stylesheets/ogog.css
Added Paths:
-----------
projects/ogog/trunk/app/views/post/_post_score_block.rhtml
projects/ogog/trunk/app/views/post/_rating_bar_frontpage.rhtml
projects/ogog/trunk/app/views/post/rate_frontpage.rjs
Removed Paths:
-------------
projects/ogog/trunk/app/views/post/_post_top_block_score.rhtml
projects/ogog/trunk/app/views/post/rate_bad.rjs
Modified: projects/ogog/trunk/app/controllers/post_controller.rb
===================================================================
--- projects/ogog/trunk/app/controllers/post_controller.rb 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/app/controllers/post_controller.rb 2007-05-23 16:48:36 UTC (rev 312)
@@ -84,11 +84,11 @@
@post.rate(params[:score].to_i, Context.current.tag, request.env['REMOTE_ADDR'])
end
- def rate_bad
- if !params[:id]
+ def rate_frontpage
+ if !params[:score] or !params[:id]
raise 'Missing parameter'
end
- @post.flat_rate(-1, Context.current.tag, request.env['REMOTE_ADDR'])
+ @post.rate(params[:score].to_i, Context.current.tag, request.env['REMOTE_ADDR'])
end
# AJAX
Modified: projects/ogog/trunk/app/helpers/application_helper.rb
===================================================================
--- projects/ogog/trunk/app/helpers/application_helper.rb 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/app/helpers/application_helper.rb 2007-05-23 16:48:36 UTC (rev 312)
@@ -6,9 +6,9 @@
link_to(truncate(tag.to_s, 15), index_url({:link_string => tag.to_s}),options)
end
- def link_to_post(string, post, tag, options = {})
+ def link_to_post(string, post, tag, options = {}, attribute_options = {})
link_to string, show_url({:tag_string => tag.to_s,
- :action => 'viewpoint', :id => post}.merge(options))
+ :action => 'viewpoint', :id => post}.merge(options)), attribute_options
end
def link_to_user(user)
@@ -44,7 +44,7 @@
end
def tagging_power(tagging)
- voting_power(tagging.weight)
+ '<span class="power" title="For each vote power is added">' + number_with_precision(tagging.weight, 1) + '</span>'
end
def voting_power(voting_power)
Modified: projects/ogog/trunk/app/views/post/_post.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_post.rhtml 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/app/views/post/_post.rhtml 2007-05-23 16:48:36 UTC (rev 312)
@@ -1,29 +1,19 @@
<div class="post">
<table cellspacing=0 class="post">
<% tagging = post.tagging_for(Context.current.tag) %>
- <tr id="post_top_block_score<%= post.id %>">
- <%= render :partial => 'post_top_block_score',
- :locals => {:tagging => tagging} %>
+ <tr id="post_score_block<%= post.id %>">
+ <%= render :partial => 'post_score_block_frontpage',
+ :locals => {:post => post, :tagging => tagging} %>
</tr>
<tr><td colspan="2" class="title">
- <h5><%= link_to_post(truncate(post.title, 35), post, Context.current.tag) %></h5>
+ <h5><%= link_to_post(truncate(post.title, 35), post, tagging.tag) %></h5>
</td></tr>
<tr><td colspan="3" class="snippet">
<%= post.snippet + link_to_post(' ...read on and rate', post, Context.current.tag) %>
</td></tr>
- <tr>
- <td colspan="2" class="published">
+ <tr><td colspan="3" class="published">
Published <%= time_ago_in_words(post.published_at) %> ago
<%= (post.feed.user ? 'by ' + link_to_user(post.feed.user) : '') %>
- </td>
- <td class="bad_rating">
- <% if tagging.weight == 0.0 and tagging.score >= 0 %>
- <div id="bad_rating<%= post.id %>" class="bad_rating" >
- <%= link_to_remote 'rate bad!', {:url => {:action => 'rate_bad', :id => post,
- :tag_string => tagging.tag.to_s}}, :title => '1 skull, 0.0 weight' %>
- </div>
- <% end %>
- </td>
- </tr>
+ </td></tr>
</table>
</div>
Copied: projects/ogog/trunk/app/views/post/_post_score_block.rhtml (from rev 310, projects/ogog/trunk/app/views/post/_post_top_block_score.rhtml)
===================================================================
--- projects/ogog/trunk/app/views/post/_post_score_block.rhtml (rev 0)
+++ projects/ogog/trunk/app/views/post/_post_score_block.rhtml 2007-05-23 16:48:36 UTC (rev 312)
@@ -0,0 +1,12 @@
+<td rowspan="2" colspan="1" class="score">
+ <%= link_to(score_image(tagging.score), "#rating_bar") %>
+ <div class="score">
+ <%= link_to(score_nr(tagging.score), "#rating_bar") %>
+ </div>
+</td>
+<td class="power">
+ Power: <%= tagging_power(tagging) %>
+</td>
+<td class="rate">
+ <%= link_to 'Rate at bottom', "#rating_bar" %>
+</td>
Deleted: projects/ogog/trunk/app/views/post/_post_top_block_score.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_post_top_block_score.rhtml 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/app/views/post/_post_top_block_score.rhtml 2007-05-23 16:48:36 UTC (rev 312)
@@ -1,12 +0,0 @@
-<td rowspan="2" colspan="1" class="score">
- <%= score_image(tagging.score) %>
- <div class="score">
- <%= score_nr(tagging.score) %>
- </div>
-</td>
-<td class="word">
- which means: <%= score_in_words(tagging.score) %>
-</td>
-<td class="power">
- Power: <%= tagging_power(tagging) %>
-</td>
Modified: projects/ogog/trunk/app/views/post/_rating_bar.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_rating_bar.rhtml 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/app/views/post/_rating_bar.rhtml 2007-05-23 16:48:36 UTC (rev 312)
@@ -1,5 +1,5 @@
-<% score = tagging.score || 0 %>
-<div id="rating_bar">
+<% score = tagging.score %>
+<div id="rating_bar" name="rating_bar">
<span class="inline_rating">
<ul class="skull_rating">
<% -2.upto(-1) do |i| %>
Copied: projects/ogog/trunk/app/views/post/_rating_bar_frontpage.rhtml (from rev 302, projects/ogog/trunk/app/views/post/_rating_bar.rhtml)
===================================================================
--- projects/ogog/trunk/app/views/post/_rating_bar_frontpage.rhtml (rev 0)
+++ projects/ogog/trunk/app/views/post/_rating_bar_frontpage.rhtml 2007-05-23 16:48:36 UTC (rev 312)
@@ -0,0 +1,27 @@
+<% score = tagging.score %>
+<span class="inline_rating">
+ <% if score < -1 %>
+ <ul class="more_skulls_or_stars">
+ <li><%= link_to_post(image_tag('more_skulls.jpg'), post, tagging.tag, {:note => 'less'}, {:title => 'Quick rating: Already lower than -1, rate in the full range at the full article', :class => "more"}) %></li>
+ </ul>
+ <% else %>
+ <ul class="skull_rating">
+ <li><%= link_to_remote "1", {:url => {:action => 'rate_frontpage', :id => post, :tag_string => tagging.tag.to_s, :score => -1}},
+ :title => 'Quick rating: 1 skull out of 2' %></li>
+ <li class="current_skulls" style="width:<%= (score < 0 ? (score / -1.0 * 100).round : 0) %>%;"></li>
+ </ul>
+ <% end %>
+</span><span class="inline_rating<%= (score > 1 ? '' : ' ie_inline_rating_hack') %>">
+ <% if score > 1 %>
+ <ul class="more_skulls_or_stars">
+ <li><%= link_to_post(image_tag('more_stars.jpg'), post, tagging.tag, {:note => 'more'}, {:title => 'Already higher than 1, rate in the full range at the full article', :class => 'more'}) %></li>
+ </ul>
+ <% else %>
+ <ul class="star_rating">
+ <li class="current_stars" style="width:<%= (score > 0 ? (score / 1.0 * 100).round : 0) %>%;"></li>
+ <li><%= link_to_remote "1", {:url => {:action => 'rate_frontpage', :id => post, :tag_string => tagging.tag.to_s, :score => 1}},
+ :title => 'Quick rating: 1 star out of 5' %></li>
+ </ul>
+ <% end %>
+</span>
+
Modified: projects/ogog/trunk/app/views/post/index.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/index.rhtml 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/app/views/post/index.rhtml 2007-05-23 16:48:36 UTC (rev 312)
@@ -1,6 +1,6 @@
<% if User.anonymous? and Context.current.tag == Tag.overall %>
<div id="quick_info" class="box large noticable">
- <p>Take <%= link_to 'the tour', url_for(:controller => :doc, :action => :tour) %>. OgOg is a meritocracy that is all about your blog. You can <span class="highlight">rate articles from RSS-feeds</span> and receive <span class="highlight">extra voting power</span> when your own posts are rated well. And OgOg.org <%= link_to 'is yours too', url_for(:controller => :doc, :action => :development) %>!</p>
+ <p>OgOg is a meritocracy that is all about your blog. You can <span class="highlight">rate articles from RSS-feeds</span> and receive <span class="highlight">extra voting power</span> when your own posts are rated well. And OgOg.org <%= link_to 'is yours too', url_for(:controller => :doc, :action => :development) %>! Take <%= link_to 'the tour', url_for(:controller => :doc, :action => :tour) %>.</p>
</div>
<% end %>
<div id="middle_container">
Modified: projects/ogog/trunk/app/views/post/rate.rjs
===================================================================
--- projects/ogog/trunk/app/views/post/rate.rjs 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/app/views/post/rate.rjs 2007-05-23 16:48:36 UTC (rev 312)
@@ -1,5 +1,5 @@
tagging = @post.tagging_for(Context.current.tag)
-page.replace_html 'post_top_block_score' + @post.id.to_s, :partial => 'post_top_block_score',
+page.replace_html 'post_score_block' + @post.id.to_s, :partial => 'post_score_block',
:locals => {:tagging => tagging}
page.replace 'rating_bar', :partial => 'rating_bar',
:locals => {:post => @post, :tagging => tagging}
Deleted: projects/ogog/trunk/app/views/post/rate_bad.rjs
===================================================================
--- projects/ogog/trunk/app/views/post/rate_bad.rjs 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/app/views/post/rate_bad.rjs 2007-05-23 16:48:36 UTC (rev 312)
@@ -1,4 +0,0 @@
-tagging = @post.tagging_for(Context.current.tag)
-page.replace_html 'post_top_block_score' + @post.id.to_s, :partial => 'post_top_block_score',
- :locals => {:tagging => tagging}
-page.remove 'bad_rating' + @post.id.to_s
Copied: projects/ogog/trunk/app/views/post/rate_frontpage.rjs (from rev 302, projects/ogog/trunk/app/views/post/rate_bad.rjs)
===================================================================
--- projects/ogog/trunk/app/views/post/rate_frontpage.rjs (rev 0)
+++ projects/ogog/trunk/app/views/post/rate_frontpage.rjs 2007-05-23 16:48:36 UTC (rev 312)
@@ -0,0 +1,3 @@
+tagging = @post.tagging_for(Context.current.tag)
+page.replace_html 'post_score_block' + @post.id.to_s, :partial => 'post_score_block_frontpage',
+ :locals => {:tagging => tagging, :post => @post, :front => true}
Modified: projects/ogog/trunk/app/views/post/viewpoint.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/viewpoint.rhtml 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/app/views/post/viewpoint.rhtml 2007-05-23 16:48:36 UTC (rev 312)
@@ -4,26 +4,22 @@
<h3 class="title">Post</h3>
<div class="post">
<table cellspacing=0 class="post">
- <tr id="post_top_block_score<%= @post.id %>">
- <%= render :partial => 'post_top_block_score',
- :locals => {:post => @post, :tagging => tagging} %>
+ <tr id="post_score_block<%= @post.id %>">
+ <%= render :partial => 'post_score_block',
+ :locals => {:tagging => tagging} %>
</tr>
<tr><td colspan="2" class="title">
- <h5><%= @post.title %></h5>
+ <h5><%= link_to truncate(@post.title, 35), @post.url, :popup => true %></h5>
</td></tr>
<tr><td colspan="3" class="body">
<%= @post.body %>
</td></tr>
- <tr>
- <td colspan="2" class="published">
+ <tr><td colspan="3" class="published">
Published <%= time_ago_in_words(@post.published_at) %> ago
<%= (@post.feed.user ? 'by ' + link_to_user(@post.feed.user) : '') %><br />
On <%= link_to_feed(@post.feed) %><br />
At <%= link_to truncate(@post.title, 35), @post.url %>
- </td>
- <td class="bad_rating">
- </td>
- </tr>
+ </td></tr>
</table>
</div>
</div>
Modified: projects/ogog/trunk/lib/tasks/do_update.rake
===================================================================
--- projects/ogog/trunk/lib/tasks/do_update.rake 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/lib/tasks/do_update.rake 2007-05-23 16:48:36 UTC (rev 312)
@@ -2,7 +2,8 @@
sh "ssh wy...@lo... '" +
"cd /var/www; svn co https://svn.sourceforge.net/svnroot/logilogi/projects/ogog/trunk ogog; " +
"cd /var/www/ogog; script/process/reaper; " +
- "cd /var/www/ogog/lib/daemons; ./ogog_harvester_daemon_ctl restart; " +
- "cd /var/www/ogog/lib/daemons; ./ogog_daemon_ctl restart; " +
"'"
+
+# "cd /var/www/ogog/lib/daemons; ./ogog_harvester_daemon_ctl restart; " +
+# "cd /var/www/ogog/lib/daemons; ./ogog_daemon_ctl restart; " +
end
Modified: projects/ogog/trunk/public/stylesheets/ogog-ie.css
===================================================================
--- projects/ogog/trunk/public/stylesheets/ogog-ie.css 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/public/stylesheets/ogog-ie.css 2007-05-23 16:48:36 UTC (rev 312)
@@ -27,19 +27,31 @@
div.post table.post td.score {
width: 4em;
}
+div.post table.post td.power {
+ padding-top: 9px;
+}
+div.post table.post td.rate {
+ width: 14em;
+}
+#post div.post table.post td.rate {
+ padding-top: 9px;
+}
div.post table.post td.title {
width: 18.0em;
padding-bottom: 0.5em;
}
div.post table.post td.published,
div.post table.post td.rated {
- padding-left: 7.5em;
+ padding-left: 7em;
font-size: 0.8em;
}
#top_posts div.post table.post td.published,
#new_posts div.post table.post td.published {
padding-bottom: 1em;
}
+input {
+ height: 1.6em;
+}
/* Rating */
@@ -54,3 +66,6 @@
display: inline;
margin-bottom: 0.5em;
}
+span.ie_inline_rating_hack {
+ margin-top: 4px;
+}
Modified: projects/ogog/trunk/public/stylesheets/ogog.css
===================================================================
--- projects/ogog/trunk/public/stylesheets/ogog.css 2007-05-22 20:16:19 UTC (rev 311)
+++ projects/ogog/trunk/public/stylesheets/ogog.css 2007-05-23 16:48:36 UTC (rev 312)
@@ -3,8 +3,7 @@
html, body {
margin: 0;
padding: 0;
- font-family: Arial, Helvetica, sans-serif;
- background: #F0F8FF;
+ font-family: Arial, Helvetica, Sans-Serif;
}
table {
clear: both;
@@ -41,6 +40,9 @@
img {
border: none;
}
+a {
+ text-decoration: none;
+}
/* Global spans */
@@ -106,6 +108,7 @@
h3.title {
text-align: center;
padding-bottom: 0.5em;
+ color: #B1B1B1;
}
div.form {
text-align: center;
@@ -213,7 +216,7 @@
}
/* double */
#url_bar dl {
- padding: 0.05em 0em 0.05em 0em;
+ padding: 0.3em 0em 0.05em 0em;
margin: 0px;
}
#url_bar dl dt{
@@ -224,8 +227,8 @@
}
#url_bar dl dd{
line-height: 1.6em;
- padding:0px;
- margin:0px;
+ padding: 0px;
+ margin: 0px;
font-size: 1.8em;
}
#url_bar div.req_rec_image {
@@ -382,12 +385,17 @@
div.post div.score {
float: left;
}
-div.post table.post td.word {
- width: 12em;
+div.post div.score a {
+ color: #000000;
}
div.post table.post td.power {
width: 7em;
+ line-height: 23px;
}
+div.post table.post td.rate {
+ width: 12em;
+ line-height: 23px;
+}
div.post table.post td.title {
width: 23.0em;
}
@@ -405,9 +413,6 @@
padding-left: 6.5em;
font-size: 0.8em;
}
-div.post table.post td.bad_rating {
- width: 6.5em;
-}
#viewpoints table td.score {
text-align: right;
}
@@ -548,28 +553,75 @@
background-position: right center;
}
-span.inline_rating {
- display: -moz-inline-block;
- display: -moz-inline-box;
- display: inline-block;
- vertical-align: middle;
+td.rate ul.star_rating,
+td.rate ul.star_rating a:hover,
+td.rate ul.star_rating a:active,
+td.rate ul.star_rating li.current_stars {
+ background: url(/images/small_stars.jpg) left -1000px;
}
+td.rate ul.star_rating li.more_stars {
+ background: url(/images/more_stars.jpg) left -1000px;
+}
+td.rate ul.star_rating {
+ width: 25px;
+ background-position: left top;
+}
+td.rate ul.star_rating a:hover,
+td.rate ul.star_rating a:active {
+ background-position: left bottom;
+}
+td.rate ul.star_rating a {
+ width: 100%;
+ z-index: 2;
+}
-div.bad_rating,
-div.bad_rating_over {
- float: right;
- width: 6.3em;
- height: 25px;
- margin-right: 0.2em;
- background: url(/images/bad_rating.jpg) no-repeat;
+td.rate ul.skull_rating,
+td.rate ul.skull_rating a:hover,
+td.rate ul.skull_rating a:active,
+td.rate ul.skull_rating li.current_skulls {
+ background: url(/images/small_skulls.jpg) right -1000px;
}
-div.bad_rating {
+td.rate ul.skull_rating {
+ width: 25px;
background-position: right top;
}
-div.bad_rating_over {
+td.rate ul.skull_rating a:hover,
+td.rate ul.skull_rating a:active {
background-position: right bottom;
}
+td.rate ul.skull_rating a {
+ width: 100%;
+ z-index: 2;
+}
+ul.more_skulls_or_stars {
+ position: relative;
+ width: 25px;
+ height: 25px;
+ overflow: hidden;
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ background-position: right top;
+}
+ul.more_skulls_or_stars li {
+ display: inline;
+}
+ul.more_skulls_or_stars a {
+ height: 25px;
+ line-height: 25px;
+ outline: none;
+ overflow: hidden;
+ border: none;
+}
+
+span.inline_rating {
+ display: -moz-inline-block;
+ display: -moz-inline-box;
+ display: inline-block;
+ vertical-align: middle;
+}
+
/* Help */
#quick_info p {
@@ -590,6 +642,9 @@
line-height: 1.6em;
text-align: center;
}
+#network-bar a {
+ text-decoration: underline;
+}
td#footer {
text-align: center;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-22 20:18:22
|
Revision: 311
http://logilogi.svn.sourceforge.net/logilogi/?rev=311&view=rev
Author: wybow
Date: 2007-05-22 13:16:19 -0700 (Tue, 22 May 2007)
Log Message:
-----------
Improved cloud...
Modified Paths:
--------------
projects/ogog/trunk/app/controllers/post_controller.rb
Modified: projects/ogog/trunk/app/controllers/post_controller.rb
===================================================================
--- projects/ogog/trunk/app/controllers/post_controller.rb 2007-05-22 19:58:33 UTC (rev 310)
+++ projects/ogog/trunk/app/controllers/post_controller.rb 2007-05-22 20:16:19 UTC (rev 311)
@@ -108,7 +108,9 @@
def cloud_s
tags = Tag.top_tags(Context.current.link.received_tags, :order => "count DESC, word", :limit => 71).
sort_by {|tag| tag.word}
- tags.delete(Tag.overall)
+ ([Tag.overall] + Context.current.link.received_tags).each do |tag|
+ tags.delete(tag)
+ end
render_to_string(:partial => 'cloud',
:locals => {:tags => tags})
end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-22 19:59:37
|
Revision: 310
http://logilogi.svn.sourceforge.net/logilogi/?rev=310&view=rev
Author: wybow
Date: 2007-05-22 12:58:33 -0700 (Tue, 22 May 2007)
Log Message:
-----------
Applied a few usabillity enhanchments...
Modified Paths:
--------------
projects/ogog/trunk/app/controllers/post_controller.rb
projects/ogog/trunk/app/views/post/_double_url_bar.rhtml
projects/ogog/trunk/app/views/post/_post.rhtml
projects/ogog/trunk/app/views/post/_post_top_block_score.rhtml
projects/ogog/trunk/app/views/post/index.rhtml
projects/ogog/trunk/public/images/bar.jpg
projects/ogog/trunk/public/images/bar.svg
projects/ogog/trunk/public/images/logo.jpg
projects/ogog/trunk/public/images/req_rec.png
projects/ogog/trunk/public/images/req_rec.svg
projects/ogog/trunk/public/stylesheets/ogog.css
Modified: projects/ogog/trunk/app/controllers/post_controller.rb
===================================================================
--- projects/ogog/trunk/app/controllers/post_controller.rb 2007-05-22 15:34:52 UTC (rev 309)
+++ projects/ogog/trunk/app/controllers/post_controller.rb 2007-05-22 19:58:33 UTC (rev 310)
@@ -106,8 +106,9 @@
private
def cloud_s
- tags = Tag.top_tags(Context.current.link.received_tags, :order => "count DESC, word", :limit => 100).
+ tags = Tag.top_tags(Context.current.link.received_tags, :order => "count DESC, word", :limit => 71).
sort_by {|tag| tag.word}
+ tags.delete(Tag.overall)
render_to_string(:partial => 'cloud',
:locals => {:tags => tags})
end
Modified: projects/ogog/trunk/app/views/post/_double_url_bar.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_double_url_bar.rhtml 2007-05-22 15:34:52 UTC (rev 309)
+++ projects/ogog/trunk/app/views/post/_double_url_bar.rhtml 2007-05-22 19:58:33 UTC (rev 310)
@@ -7,5 +7,5 @@
</dd>
</dl>
<div class="req_rec_image">
- <%= image_tag 'req_rec.png', :size => '220x100' %>
+ <%= image_tag 'req_rec.png', :size => '285x100' %>
</div>
Modified: projects/ogog/trunk/app/views/post/_post.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_post.rhtml 2007-05-22 15:34:52 UTC (rev 309)
+++ projects/ogog/trunk/app/views/post/_post.rhtml 2007-05-22 19:58:33 UTC (rev 310)
@@ -9,7 +9,7 @@
<h5><%= link_to_post(truncate(post.title, 35), post, Context.current.tag) %></h5>
</td></tr>
<tr><td colspan="3" class="snippet">
- <%= post.snippet + link_to_post(' ...read on', post, Context.current.tag) %>
+ <%= post.snippet + link_to_post(' ...read on and rate', post, Context.current.tag) %>
</td></tr>
<tr>
<td colspan="2" class="published">
@@ -19,7 +19,7 @@
<td class="bad_rating">
<% if tagging.weight == 0.0 and tagging.score >= 0 %>
<div id="bad_rating<%= post.id %>" class="bad_rating" >
- <%= link_to_remote 'bad!', {:url => {:action => 'rate_bad', :id => post,
+ <%= link_to_remote 'rate bad!', {:url => {:action => 'rate_bad', :id => post,
:tag_string => tagging.tag.to_s}}, :title => '1 skull, 0.0 weight' %>
</div>
<% end %>
Modified: projects/ogog/trunk/app/views/post/_post_top_block_score.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/_post_top_block_score.rhtml 2007-05-22 15:34:52 UTC (rev 309)
+++ projects/ogog/trunk/app/views/post/_post_top_block_score.rhtml 2007-05-22 19:58:33 UTC (rev 310)
@@ -5,7 +5,7 @@
</div>
</td>
<td class="word">
- In words: <%= score_in_words(tagging.score) %>
+ which means: <%= score_in_words(tagging.score) %>
</td>
<td class="power">
Power: <%= tagging_power(tagging) %>
Modified: projects/ogog/trunk/app/views/post/index.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/index.rhtml 2007-05-22 15:34:52 UTC (rev 309)
+++ projects/ogog/trunk/app/views/post/index.rhtml 2007-05-22 19:58:33 UTC (rev 310)
@@ -1,6 +1,6 @@
<% if User.anonymous? and Context.current.tag == Tag.overall %>
<div id="quick_info" class="box large noticable">
- <p>OgOg.org is all about your blog. You can <span class="highlight">rate articles from RSS-feeds</span> and receive good rankings and <span class="highlight">extra voting power</span> when your own posts are rated well. Take <%= link_to 'the tour', url_for(:controller => :doc, :action => :tour) %>. And if that is not enough, OgOg.org <%= link_to 'is yours too', url_for(:controller => :doc, :action => :development) %>!</p>
+ <p>Take <%= link_to 'the tour', url_for(:controller => :doc, :action => :tour) %>. OgOg is a meritocracy that is all about your blog. You can <span class="highlight">rate articles from RSS-feeds</span> and receive <span class="highlight">extra voting power</span> when your own posts are rated well. And OgOg.org <%= link_to 'is yours too', url_for(:controller => :doc, :action => :development) %>!</p>
</div>
<% end %>
<div id="middle_container">
Modified: projects/ogog/trunk/public/images/bar.jpg
===================================================================
(Binary files differ)
Modified: projects/ogog/trunk/public/images/bar.svg
===================================================================
--- projects/ogog/trunk/public/images/bar.svg 2007-05-22 15:34:52 UTC (rev 309)
+++ projects/ogog/trunk/public/images/bar.svg 2007-05-22 19:58:33 UTC (rev 310)
@@ -9,7 +9,7 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="200"
+ width="280"
height="28"
id="svg2008"
sodipodi:version="0.32"
@@ -57,7 +57,7 @@
xlink:href="#linearGradient2927"
id="linearGradient13008"
gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.744109,0,0,0.539443,-74.74774,-105.8064)"
+ gradientTransform="matrix(1.044238,0,0,0.535243,-105.6205,-104.8695)"
x1="101.10726"
y1="223.07635"
x2="369.508"
@@ -74,11 +74,11 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2"
- inkscape:cx="73.849723"
+ inkscape:cx="76.975573"
inkscape:cy="26.560761"
inkscape:document-units="px"
inkscape:current-layer="layer1"
- width="200px"
+ width="280px"
height="28px"
inkscape:window-width="914"
inkscape:window-height="626"
@@ -100,13 +100,13 @@
inkscape:groupmode="layer"
id="layer1">
<rect
- style="opacity:1;fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient13008);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ style="opacity:1;fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient13008);stroke-width:1.18000591;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect13006"
- width="196.65771"
- height="23.118916"
- x="2.0182076"
- y="2.9708705"
- rx="15.285712"
- ry="15.092754" />
+ width="275.97772"
+ height="22.93891"
+ x="2.1082106"
+ y="3.0608735"
+ rx="13.95105"
+ ry="14.975241" />
</g>
</svg>
Modified: projects/ogog/trunk/public/images/logo.jpg
===================================================================
(Binary files differ)
Modified: projects/ogog/trunk/public/images/req_rec.png
===================================================================
(Binary files differ)
Modified: projects/ogog/trunk/public/images/req_rec.svg
===================================================================
--- projects/ogog/trunk/public/images/req_rec.svg 2007-05-22 15:34:52 UTC (rev 309)
+++ projects/ogog/trunk/public/images/req_rec.svg 2007-05-22 19:58:33 UTC (rev 310)
@@ -9,15 +9,15 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="220"
+ width="285"
height="100"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.44"
- sodipodi:docbase="/home/wybo/ogog/docs/logo"
- sodipodi:docname="reqrec.svg"
+ sodipodi:docbase="/home/wybo/ogog/docs/misc"
+ sodipodi:docname="req_rec.svg"
version="1.0"
- inkscape:export-filename="/home/wybo/ogog/docs/logo/reqrec.png"
+ inkscape:export-filename="/home/wybo/ogog/docs/misc/req_rec.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
@@ -97,7 +97,7 @@
xlink:href="#linearGradient6522"
id="linearGradient13008"
gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.591955,0,0,0.666907,-4.684402,-116.8845)"
+ gradientTransform="matrix(0.853645,0,0,0.664001,-31.61936,-116.2361)"
x1="101.10726"
y1="223.07635"
x2="369.508"
@@ -107,7 +107,7 @@
xlink:href="#linearGradient6522"
id="linearGradient13018"
gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.591955,0,0,0.666907,-42.49395,-79.15061)"
+ gradientTransform="matrix(0.850948,0,0,0.664028,-69.15114,-78.50835)"
x1="101.10726"
y1="223.07635"
x2="369.508"
@@ -134,15 +134,15 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
- inkscape:cx="473.93888"
- inkscape:cy="701.84931"
+ inkscape:cx="175.67703"
+ inkscape:cy="164.70645"
inkscape:document-units="px"
inkscape:current-layer="layer1"
- inkscape:window-width="1280"
- inkscape:window-height="949"
- inkscape:window-x="0"
- inkscape:window-y="25"
- width="220px"
+ inkscape:window-width="1270"
+ inkscape:window-height="945"
+ inkscape:window-x="1280"
+ inkscape:window-y="31"
+ width="285px"
height="100px" />
<metadata
id="metadata7">
@@ -160,50 +160,50 @@
inkscape:groupmode="layer"
id="layer1">
<rect
- style="opacity:1;fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient13018);stroke-width:0.62831455;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ style="opacity:1;fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient13018);stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect13010"
- width="156.44542"
- height="28.58172"
- x="18.574978"
- y="55.329628"
- rx="15.285712"
- ry="15.092754" />
+ width="224.89346"
+ height="28.458334"
+ x="18.636671"
+ y="55.391319"
+ rx="17.687811"
+ ry="15.0276" />
<rect
- style="opacity:1;fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient13008);stroke-width:0.62831455;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ style="opacity:1;fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient13008);stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect13006"
- width="156.44542"
- height="28.58172"
- x="56.384525"
- y="17.595736"
- rx="15.285712"
- ry="15.092754" />
+ width="225.60657"
+ height="28.457159"
+ x="56.446804"
+ y="17.658018"
+ rx="16.328897"
+ ry="15.026979" />
<text
xml:space="preserve"
- style="font-size:18.64875412px;font-style:normal;font-weight:normal;fill:#ccc;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ style="font-size:18.64875412px;font-style:normal;font-weight:normal;fill:#b1b1b1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="80.420685"
y="37.974834"
id="text3839"><tspan
sodipodi:role="line"
id="tspan3841"
x="80.420685"
- y="37.974834">Requested</tspan></text>
+ y="37.974834">Tags you requested</tspan></text>
<text
xml:space="preserve"
- style="font-size:19.69517708px;font-style:normal;font-weight:normal;fill:#ccc;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ style="font-size:19.69517708px;font-style:normal;font-weight:normal;fill:#b1b1b1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="41.544853"
y="76.837044"
id="text4732"><tspan
sodipodi:role="line"
id="tspan4734"
x="41.544853"
- y="76.837044">Received</tspan></text>
+ y="76.837044">Tags we could find</tspan></text>
<path
- style="fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient6512);stroke-width:0.66602689;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ style="fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient6512);stroke-width:1.2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 44.386689,24.925432 L 61.565414,7.7467147 C 65.632141,3.6799873 72.246122,3.7460911 76.394956,7.894932 L 76.246746,56.785488 C 72.180018,60.852221 65.566038,60.786118 61.417196,56.637277 L 44.534906,39.75498 C 40.386066,35.606146 40.319963,28.992167 44.386689,24.925432 z "
id="rect3836"
sodipodi:nodetypes="ccccccc" />
<path
- style="fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient13020);stroke-width:0.66602689;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ style="fill:#eee;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient13020);stroke-width:1.2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 6.5771412,62.659328 L 23.755866,45.48061 C 27.822593,41.413883 34.436574,41.479987 38.585408,45.628828 L 38.437198,94.519384 C 34.37047,98.586114 27.75649,98.520014 23.607648,94.371174 L 6.7253582,77.488874 C 2.5765182,73.340044 2.5104152,66.726063 6.5771412,62.659328 z "
id="path13016"
sodipodi:nodetypes="ccccccc" />
Modified: projects/ogog/trunk/public/stylesheets/ogog.css
===================================================================
--- projects/ogog/trunk/public/stylesheets/ogog.css 2007-05-22 15:34:52 UTC (rev 309)
+++ projects/ogog/trunk/public/stylesheets/ogog.css 2007-05-22 19:58:33 UTC (rev 310)
@@ -140,7 +140,7 @@
}
div.box {
float: left;
- border: 2px solid #CCFF00;
+ border: 2px solid #E3FFAC;
padding: 0.5em;
margin: 0.6em;
background: #FFFFFF;
@@ -155,7 +155,7 @@
width: 14em;
}
div.noticable {
- background-color: #F7F3E8;
+ background-color: #E3FFAC;
}
#logo {
text-align: center;
@@ -256,6 +256,9 @@
/* Menu */
+#menu {
+ background: #E3FFAC;
+}
#menu ul {
padding: 0px;
display: inline;
@@ -403,7 +406,7 @@
font-size: 0.8em;
}
div.post table.post td.bad_rating {
- width: 4em;
+ width: 6.5em;
}
#viewpoints table td.score {
text-align: right;
@@ -555,8 +558,9 @@
div.bad_rating,
div.bad_rating_over {
float: right;
- width: 4em;
+ width: 6.3em;
height: 25px;
+ margin-right: 0.2em;
background: url(/images/bad_rating.jpg) no-repeat;
}
div.bad_rating {
@@ -570,7 +574,7 @@
#quick_info p {
margin: 0;
- font-size: 1.1em;
+ font-size: 1.2em;
}
#slide {
text-align: center;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-22 15:35:51
|
Revision: 309
http://logilogi.svn.sourceforge.net/logilogi/?rev=309&view=rev
Author: wybow
Date: 2007-05-22 08:34:52 -0700 (Tue, 22 May 2007)
Log Message:
-----------
Added html title-line
Modified Paths:
--------------
projects/ogog/trunk/app/controllers/application.rb
projects/ogog/trunk/app/views/layouts/main.rhtml
Modified: projects/ogog/trunk/app/controllers/application.rb
===================================================================
--- projects/ogog/trunk/app/controllers/application.rb 2007-05-22 08:08:09 UTC (rev 308)
+++ projects/ogog/trunk/app/controllers/application.rb 2007-05-22 15:34:52 UTC (rev 309)
@@ -21,7 +21,7 @@
### Filters
- before_filter :get_user, :resolve_context
+ before_filter :get_user, :resolve_context, :set_page_name
### Bodies
@@ -57,6 +57,10 @@
end
end
+ def set_page_name
+ @page_name = params[:action]
+ end
+
### Body functions
def menu
Modified: projects/ogog/trunk/app/views/layouts/main.rhtml
===================================================================
--- projects/ogog/trunk/app/views/layouts/main.rhtml 2007-05-22 08:08:09 UTC (rev 308)
+++ projects/ogog/trunk/app/views/layouts/main.rhtml 2007-05-22 15:34:52 UTC (rev 309)
@@ -1,6 +1,6 @@
<html>
<head>
- <title><%= @page_name %> - OgOg.org - <%= OgOg::Config::TITLE_LINE %></title>
+ <title><%= @page_name %> ~ OgOg.org ~ <%= OgOg::Config::TITLE_LINE %></title>
<meta name="KEYWORDS" content="<%= OgOg::Config::HEADER_KEYWORDS %>" />
<meta name="DESCRIPTION" content="<%= OgOg::Config::HEADER_DESCRIPTION %>" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-22 08:08:11
|
Revision: 308
http://logilogi.svn.sourceforge.net/logilogi/?rev=308&view=rev
Author: wybow
Date: 2007-05-22 01:08:09 -0700 (Tue, 22 May 2007)
Log Message:
-----------
Added an info-box to the main-page.
Modified Paths:
--------------
projects/ogog/trunk/app/views/doc/development.rhtml
projects/ogog/trunk/app/views/feed/show.rhtml
projects/ogog/trunk/app/views/post/index.rhtml
projects/ogog/trunk/app/views/post/viewpoint.rhtml
projects/ogog/trunk/public/stylesheets/ogog.css
Modified: projects/ogog/trunk/app/views/doc/development.rhtml
===================================================================
--- projects/ogog/trunk/app/views/doc/development.rhtml 2007-05-22 00:21:03 UTC (rev 307)
+++ projects/ogog/trunk/app/views/doc/development.rhtml 2007-05-22 08:08:09 UTC (rev 308)
@@ -1,9 +1,12 @@
<div id="middle_container">
<div id="development" class="box normal">
<h3 class="title">Development</h3>
- <p>OgOg is Open Source, so you can download it's sourcecode, and add stuff you'd
- like to see added to it. Also you're welcome to join us to improve this exciting
- project.</p>
+ <p>OgOg is yours too, it's ran by a foundation in the common
+ interest, and it's Open Source, so you can download it's
+ sourcecode, and add stuff you'd like to see added to it.</p>
+
+ <p>You're welcome to join us to improve this exciting
+ project!</p>
<h4>Mailinglist</h4>
<p>While still low volume we discuss OgOg together with our other projects on <%= link_to 'logilogi-list', 'https://lists.sourceforge.net/lists/listinfo/logilogi-list' %></p>
<h4>Docs</h4>
Modified: projects/ogog/trunk/app/views/feed/show.rhtml
===================================================================
--- projects/ogog/trunk/app/views/feed/show.rhtml 2007-05-22 00:21:03 UTC (rev 307)
+++ projects/ogog/trunk/app/views/feed/show.rhtml 2007-05-22 08:08:09 UTC (rev 308)
@@ -2,8 +2,7 @@
<div id="feed" class="box normal">
<h3 class="title">Feed</h3>
<table>
- <tr><td>Title:</td><td><%= (@feed.title ? @feed.title : '<span class="notice">Not yet retrieved</span>') %></td></tr>
- <tr><td>Visit:</td><td><%= link_to(truncate(@feed.site_url, 40), @feed.site_url) %></td></tr>
+ <tr><td>Blog:</td><td><%= link_to (@feed.title ? truncate(@feed.title, 35) : 'Title not yet retrieved'), @feed.site_url %></td></tr>
<tr><td>Feed:</td><td><%= link_to(image_tag('feed.png', :size => "18x18", :border => 0), @feed.url) %></td></tr>
<tr><td>Owner:</td><td><%= (@feed.user ? link_to_user(@feed.user) :
'<span class="notice">Unclaimed</span> ' + link_to('[claim as yours]', claim_feed_url(@feed))) %></td></tr>
Modified: projects/ogog/trunk/app/views/post/index.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/index.rhtml 2007-05-22 00:21:03 UTC (rev 307)
+++ projects/ogog/trunk/app/views/post/index.rhtml 2007-05-22 08:08:09 UTC (rev 308)
@@ -1,3 +1,8 @@
+<% if User.anonymous? and Context.current.tag == Tag.overall %>
+ <div id="quick_info" class="box large noticable">
+ <p>OgOg.org is all about your blog. You can <span class="highlight">rate articles from RSS-feeds</span> and receive good rankings and <span class="highlight">extra voting power</span> when your own posts are rated well. Take <%= link_to 'the tour', url_for(:controller => :doc, :action => :tour) %>. And if that is not enough, OgOg.org <%= link_to 'is yours too', url_for(:controller => :doc, :action => :development) %>!</p>
+ </div>
+<% end %>
<div id="middle_container">
<div id="new_posts" class="box normal">
<h3 class="title">Last Weeks Top Posts</h3>
Modified: projects/ogog/trunk/app/views/post/viewpoint.rhtml
===================================================================
--- projects/ogog/trunk/app/views/post/viewpoint.rhtml 2007-05-22 00:21:03 UTC (rev 307)
+++ projects/ogog/trunk/app/views/post/viewpoint.rhtml 2007-05-22 08:08:09 UTC (rev 308)
@@ -18,7 +18,8 @@
<td colspan="2" class="published">
Published <%= time_ago_in_words(@post.published_at) %> ago
<%= (@post.feed.user ? 'by ' + link_to_user(@post.feed.user) : '') %><br />
- On <%= link_to_feed(@post.feed) %>
+ On <%= link_to_feed(@post.feed) %><br />
+ At <%= link_to truncate(@post.title, 35), @post.url %>
</td>
<td class="bad_rating">
</td>
Modified: projects/ogog/trunk/public/stylesheets/ogog.css
===================================================================
--- projects/ogog/trunk/public/stylesheets/ogog.css 2007-05-22 00:21:03 UTC (rev 307)
+++ projects/ogog/trunk/public/stylesheets/ogog.css 2007-05-22 08:08:09 UTC (rev 308)
@@ -82,6 +82,9 @@
span.copyright_notice {
font-size: 0.8em;
}
+span.highlight {
+ background-color: #ffffcc;
+}
div.bar {
text-align: center;
background: url(/images/bar.jpg) no-repeat center;
@@ -563,8 +566,12 @@
background-position: right bottom;
}
-/* Tour */
+/* Help */
+#quick_info p {
+ margin: 0;
+ font-size: 1.1em;
+}
#slide {
text-align: center;
margin-bottom: 2em;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-22 00:21:08
|
Revision: 307
http://logilogi.svn.sourceforge.net/logilogi/?rev=307&view=rev
Author: wybow
Date: 2007-05-21 17:21:03 -0700 (Mon, 21 May 2007)
Log Message:
-----------
Fix.
Modified Paths:
--------------
projects/ogog/trunk/app/controllers/download_controller.rb
Modified: projects/ogog/trunk/app/controllers/download_controller.rb
===================================================================
--- projects/ogog/trunk/app/controllers/download_controller.rb 2007-05-22 00:15:07 UTC (rev 306)
+++ projects/ogog/trunk/app/controllers/download_controller.rb 2007-05-22 00:21:03 UTC (rev 307)
@@ -13,47 +13,47 @@
class DownloadController < ApplicationController
def regenerate_source_archive
+ Zip::ZipFile.open("tmp/source/source.zip", Zip::ZipFile::CREATE) {|zipfile|
+ globs = Array.new
+ files = Array.new
+ files.push("Rakefile",
+ "README")
+ globs.push(File.join("app","**", "*.rb"))
+ globs.push(File.join("components","**", "*.rb"))
+ globs.push(File.join("config","**", "*.tmpl"))
+ files.push("config/routes.rb",
+ "config/environment.rb",
+ "config/boot.rb",
+ "config/daemons.yml")
+ globs.push(File.join("config/environments","**", "*.tmpl"))
+ globs.push(File.join("db","**", "*.rb"))
+ files.push("doc/LICENSE.txt",
+ "doc/README_FOR_APP")
+ globs.push(File.join("lib","**", "*.rb"))
+ globs.push(File.join("lib","**", "*.rake"))
+ globs.push(File.join("public","**", "[^.]*"))
+ globs.push(File.join("script","**", "[^.]*"))
+ globs.push(File.join("test","**", "*.rb"))
+ globs.push(File.join("test","**", "*.yml"))
+ globs.push(File.join("vendor","**", "[^.]*"))
+ globs.each {|glob|
+ files.concat(Dir.glob(glob))
+ }
+ files.each {|file_name|
+ if File.exists?(file_name)
+ zipfile.add(file_name,file_name)
+ end
+ }
+ }
+ File.rename("tmp/source/source.zip","public/pub/source/source.zip")
+ end
+
+ def source
begin
- Zip::ZipFile.open("tmp/source/source.zip", Zip::ZipFile::CREATE) {|zipfile|
- globs = Array.new
- files = Array.new
- files.push("Rakefile",
- "README")
- globs.push(File.join("app","**", "*.rb"))
- globs.push(File.join("components","**", "*.rb"))
- globs.push(File.join("config","**", "*.tmpl"))
- files.push("config/routes.rb",
- "config/environment.rb",
- "config/boot.rb",
- "config/daemons.yml")
- globs.push(File.join("config/environments","**", "*.tmpl"))
- globs.push(File.join("db","**", "*.rb"))
- files.push("doc/LICENSE.txt",
- "doc/README_FOR_APP")
- globs.push(File.join("lib","**", "*.rb"))
- globs.push(File.join("lib","**", "*.rake"))
- globs.push(File.join("public","**", "[^.]*"))
- globs.push(File.join("script","**", "[^.]*"))
- globs.push(File.join("test","**", "*.rb"))
- globs.push(File.join("test","**", "*.yml"))
- globs.push(File.join("vendor","**", "[^.]*"))
- globs.each {|glob|
- files.concat(Dir.glob(glob))
- }
- files.each {|file_name|
- if File.exists?(file_name)
- zipfile.add(file_name,file_name)
- end
- }
- }
- File.rename("tmp/source/source.zip","public/pub/source/source.zip")
+ self.regenerate_source_archive
+ send_file "public/pub/source/source.zip", :filename => 'source.zip'
rescue
redirect_to 'http://logilogi.svn.sourceforge.net/viewvc/logilogi/projects/ogog/'
end
end
-
- def source
- self.regenerate_source_archive
- send_file "public/pub/source/source.zip", :filename => 'source.zip'
- end
end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-22 00:15:14
|
Revision: 306
http://logilogi.svn.sourceforge.net/logilogi/?rev=306&view=rev
Author: wybow
Date: 2007-05-21 17:15:07 -0700 (Mon, 21 May 2007)
Log Message:
-----------
Added redirect to download_controller in case of error...
Modified Paths:
--------------
projects/ogog/trunk/app/controllers/download_controller.rb
projects/ogog/trunk/lib/tasks/do_update.rake
Modified: projects/ogog/trunk/app/controllers/download_controller.rb
===================================================================
--- projects/ogog/trunk/app/controllers/download_controller.rb 2007-05-21 21:34:58 UTC (rev 305)
+++ projects/ogog/trunk/app/controllers/download_controller.rb 2007-05-22 00:15:07 UTC (rev 306)
@@ -13,39 +13,43 @@
class DownloadController < ApplicationController
def regenerate_source_archive
- Zip::ZipFile.open("tmp/source/source.zip", Zip::ZipFile::CREATE) {|zipfile|
- globs = Array.new
- files = Array.new
- files.push("Rakefile",
- "README")
- globs.push(File.join("app","**", "*.rb"))
- globs.push(File.join("components","**", "*.rb"))
- globs.push(File.join("config","**", "*.tmpl"))
- files.push("config/routes.rb",
- "config/environment.rb",
- "config/boot.rb",
- "config/daemons.yml")
- globs.push(File.join("config/environments","**", "*.tmpl"))
- globs.push(File.join("db","**", "*.rb"))
- files.push("doc/LICENSE.txt",
- "doc/README_FOR_APP")
- globs.push(File.join("lib","**", "*.rb"))
- globs.push(File.join("lib","**", "*.rake"))
- globs.push(File.join("public","**", "[^.]*"))
- globs.push(File.join("script","**", "[^.]*"))
- globs.push(File.join("test","**", "*.rb"))
- globs.push(File.join("test","**", "*.yml"))
- globs.push(File.join("vendor","**", "[^.]*"))
- globs.each {|glob|
- files.concat(Dir.glob(glob))
+ begin
+ Zip::ZipFile.open("tmp/source/source.zip", Zip::ZipFile::CREATE) {|zipfile|
+ globs = Array.new
+ files = Array.new
+ files.push("Rakefile",
+ "README")
+ globs.push(File.join("app","**", "*.rb"))
+ globs.push(File.join("components","**", "*.rb"))
+ globs.push(File.join("config","**", "*.tmpl"))
+ files.push("config/routes.rb",
+ "config/environment.rb",
+ "config/boot.rb",
+ "config/daemons.yml")
+ globs.push(File.join("config/environments","**", "*.tmpl"))
+ globs.push(File.join("db","**", "*.rb"))
+ files.push("doc/LICENSE.txt",
+ "doc/README_FOR_APP")
+ globs.push(File.join("lib","**", "*.rb"))
+ globs.push(File.join("lib","**", "*.rake"))
+ globs.push(File.join("public","**", "[^.]*"))
+ globs.push(File.join("script","**", "[^.]*"))
+ globs.push(File.join("test","**", "*.rb"))
+ globs.push(File.join("test","**", "*.yml"))
+ globs.push(File.join("vendor","**", "[^.]*"))
+ globs.each {|glob|
+ files.concat(Dir.glob(glob))
+ }
+ files.each {|file_name|
+ if File.exists?(file_name)
+ zipfile.add(file_name,file_name)
+ end
+ }
}
- files.each {|file_name|
- if File.exists?(file_name)
- zipfile.add(file_name,file_name)
- end
- }
- }
- File.rename("tmp/source/source.zip","public/pub/source/source.zip")
+ File.rename("tmp/source/source.zip","public/pub/source/source.zip")
+ rescue
+ redirect_to 'http://logilogi.svn.sourceforge.net/viewvc/logilogi/projects/ogog/'
+ end
end
def source
Modified: projects/ogog/trunk/lib/tasks/do_update.rake
===================================================================
--- projects/ogog/trunk/lib/tasks/do_update.rake 2007-05-21 21:34:58 UTC (rev 305)
+++ projects/ogog/trunk/lib/tasks/do_update.rake 2007-05-22 00:15:07 UTC (rev 306)
@@ -2,5 +2,7 @@
sh "ssh wy...@lo... '" +
"cd /var/www; svn co https://svn.sourceforge.net/svnroot/logilogi/projects/ogog/trunk ogog; " +
"cd /var/www/ogog; script/process/reaper; " +
+ "cd /var/www/ogog/lib/daemons; ./ogog_harvester_daemon_ctl restart; " +
+ "cd /var/www/ogog/lib/daemons; ./ogog_daemon_ctl restart; " +
"'"
end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-21 21:39:42
|
Revision: 305
http://logilogi.svn.sourceforge.net/logilogi/?rev=305&view=rev
Author: wybow
Date: 2007-05-21 14:34:58 -0700 (Mon, 21 May 2007)
Log Message:
-----------
Fixing daemons.
Added Paths:
-----------
projects/ogog/trunk/lib/daemons/ogog_daemon.rb
projects/ogog/trunk/lib/daemons/ogog_harvester_daemon_ctl
Removed Paths:
-------------
projects/ogog/trunk/lib/daemons/ogog.rb
Deleted: projects/ogog/trunk/lib/daemons/ogog.rb
===================================================================
--- projects/ogog/trunk/lib/daemons/ogog.rb 2007-05-21 21:08:53 UTC (rev 304)
+++ projects/ogog/trunk/lib/daemons/ogog.rb 2007-05-21 21:34:58 UTC (rev 305)
@@ -1,24 +0,0 @@
-#!/usr/bin/env ruby
-
-#You might want to change this
-ENV["RAILS_ENV"] ||= "production"
-
-require File.dirname(__FILE__) + "/../../config/environment"
-
-$running = true;
-Signal.trap("TERM") do
- $running = false
-end
-
-while($running) do
- if Time.now.hour == 2
- Post.sweep_unrated_old(OgOg::Config::OLD_TIME)
- Tagging.remove_bad_tags(OgOg::Config::BAD_TIME)
-
- Membership.calculate_percentiles
- Membership.calculate_scores(OgOg::Config::MEMBERSHIP_SCORE_POSTS)
- sleep 3600 * 10
- end
- ActiveRecord::Base.logger << "Ranking daemon is still running at #{Time.now}.\n"
- sleep 1200
-end
Copied: projects/ogog/trunk/lib/daemons/ogog_daemon.rb (from rev 304, projects/ogog/trunk/lib/daemons/ogog.rb)
===================================================================
--- projects/ogog/trunk/lib/daemons/ogog_daemon.rb (rev 0)
+++ projects/ogog/trunk/lib/daemons/ogog_daemon.rb 2007-05-21 21:34:58 UTC (rev 305)
@@ -0,0 +1,24 @@
+#!/usr/bin/env ruby
+
+#You might want to change this
+ENV["RAILS_ENV"] ||= "production"
+
+require File.dirname(__FILE__) + "/../../config/environment"
+
+$running = true;
+Signal.trap("TERM") do
+ $running = false
+end
+
+while($running) do
+ if Time.now.hour == 2
+ Post.sweep_unrated_old(OgOg::Config::OLD_TIME)
+ Tagging.remove_bad_tags(OgOg::Config::BAD_TIME)
+
+ Membership.calculate_percentiles
+ Membership.calculate_scores(OgOg::Config::MEMBERSHIP_SCORE_POSTS)
+ sleep 3600 * 10
+ end
+ ActiveRecord::Base.logger << "Ranking daemon is still running at #{Time.now}.\n"
+ sleep 1200
+end
Copied: projects/ogog/trunk/lib/daemons/ogog_harvester_daemon_ctl (from rev 304, projects/ogog/trunk/lib/daemons/ogog_daemon_ctl)
===================================================================
--- projects/ogog/trunk/lib/daemons/ogog_harvester_daemon_ctl (rev 0)
+++ projects/ogog/trunk/lib/daemons/ogog_harvester_daemon_ctl 2007-05-21 21:34:58 UTC (rev 305)
@@ -0,0 +1,15 @@
+#!/usr/bin/env ruby
+require 'rubygems'
+require "daemons"
+require 'yaml'
+require 'erb'
+require 'active_support'
+
+options = YAML.load(
+ ERB.new(
+ IO.read(
+ File.dirname(__FILE__) + "/../../config/daemons.yml"
+ )).result).with_indifferent_access
+options[:dir_mode] = options[:dir_mode].to_sym
+
+Daemons.run File.dirname(__FILE__) + '/ogog_harvester_daemon.rb', options
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2007-05-21 21:10:17
|
Revision: 304
http://logilogi.svn.sourceforge.net/logilogi/?rev=304&view=rev
Author: wybow
Date: 2007-05-21 14:08:53 -0700 (Mon, 21 May 2007)
Log Message:
-----------
Fixing daemons.
Added Paths:
-----------
projects/ogog/trunk/lib/daemons/ogog.rb
projects/ogog/trunk/lib/daemons/ogog_daemon_ctl
projects/ogog/trunk/lib/daemons/ogog_harvester_daemon.rb
Removed Paths:
-------------
projects/ogog/trunk/lib/daemons/daemons_ctl
projects/ogog/trunk/lib/daemons/harvester.rb
projects/ogog/trunk/lib/daemons/ranking.rb
projects/ogog/trunk/lib/daemons/sweeper.rb
Deleted: projects/ogog/trunk/lib/daemons/daemons_ctl
===================================================================
--- projects/ogog/trunk/lib/daemons/daemons_ctl 2007-05-21 20:48:20 UTC (rev 303)
+++ projects/ogog/trunk/lib/daemons/daemons_ctl 2007-05-21 21:08:53 UTC (rev 304)
@@ -1,17 +0,0 @@
-#!/usr/bin/env ruby
-require 'rubygems'
-require "daemons"
-require 'yaml'
-require 'erb'
-require 'active_support'
-
-options = YAML.load(
- ERB.new(
- IO.read(
- File.dirname(__FILE__) + "/../../config/daemons.yml"
- )).result).with_indifferent_access
-options[:dir_mode] = options[:dir_mode].to_sym
-
-Daemons.run File.dirname(__FILE__) + '/ranking.rb', options
-Daemons.run File.dirname(__FILE__) + '/sweeper.rb', options
-Daemons.run File.dirname(__FILE__) + '/feedharvester.rb', options
Deleted: projects/ogog/trunk/lib/daemons/harvester.rb
===================================================================
--- projects/ogog/trunk/lib/daemons/harvester.rb 2007-05-21 20:48:20 UTC (rev 303)
+++ projects/ogog/trunk/lib/daemons/harvester.rb 2007-05-21 21:08:53 UTC (rev 304)
@@ -1,20 +0,0 @@
-#!/usr/bin/env ruby
-
-#You might want to change this
-ENV["RAILS_ENV"] ||= "production"
-
-require File.dirname(__FILE__) + "/../../config/environment"
-
-$running = true;
-Signal.trap("TERM") do
- $running = false
-end
-
-while($running) do
- if Time.now.hour == 4 or Time.now.hour == 11 or Time.now.hour == 17
- Feed.harvest
- sh "rake tmp:cache:clear"
- end
- ActiveRecord::Base.logger << "Harvest daemon is still running at #{Time.now}.\n"
- sleep 1200
-end
Copied: projects/ogog/trunk/lib/daemons/ogog.rb (from rev 302, projects/ogog/trunk/lib/daemons/ranking.rb)
===================================================================
--- projects/ogog/trunk/lib/daemons/ogog.rb (rev 0)
+++ projects/ogog/trunk/lib/daemons/ogog.rb 2007-05-21 21:08:53 UTC (rev 304)
@@ -0,0 +1,24 @@
+#!/usr/bin/env ruby
+
+#You might want to change this
+ENV["RAILS_ENV"] ||= "production"
+
+require File.dirname(__FILE__) + "/../../config/environment"
+
+$running = true;
+Signal.trap("TERM") do
+ $running = false
+end
+
+while($running) do
+ if Time.now.hour == 2
+ Post.sweep_unrated_old(OgOg::Config::OLD_TIME)
+ Tagging.remove_bad_tags(OgOg::Config::BAD_TIME)
+
+ Membership.calculate_percentiles
+ Membership.calculate_scores(OgOg::Config::MEMBERSHIP_SCORE_POSTS)
+ sleep 3600 * 10
+ end
+ ActiveRecord::Base.logger << "Ranking daemon is still running at #{Time.now}.\n"
+ sleep 1200
+end
Copied: projects/ogog/trunk/lib/daemons/ogog_daemon_ctl (from rev 302, projects/ogog/trunk/lib/daemons/daemons_ctl)
===================================================================
--- projects/ogog/trunk/lib/daemons/ogog_daemon_ctl (rev 0)
+++ projects/ogog/trunk/lib/daemons/ogog_daemon_ctl 2007-05-21 21:08:53 UTC (rev 304)
@@ -0,0 +1,15 @@
+#!/usr/bin/env ruby
+require 'rubygems'
+require "daemons"
+require 'yaml'
+require 'erb'
+require 'active_support'
+
+options = YAML.load(
+ ERB.new(
+ IO.read(
+ File.dirname(__FILE__) + "/../../config/daemons.yml"
+ )).result).with_indifferent_access
+options[:dir_mode] = options[:dir_mode].to_sym
+
+Daemons.run File.dirname(__FILE__) + '/ogog_daemon.rb', options
Copied: projects/ogog/trunk/lib/daemons/ogog_harvester_daemon.rb (from rev 302, projects/ogog/trunk/lib/daemons/harvester.rb)
===================================================================
--- projects/ogog/trunk/lib/daemons/ogog_harvester_daemon.rb (rev 0)
+++ projects/ogog/trunk/lib/daemons/ogog_harvester_daemon.rb 2007-05-21 21:08:53 UTC (rev 304)
@@ -0,0 +1,20 @@
+#!/usr/bin/env ruby
+
+#You might want to change this
+ENV["RAILS_ENV"] ||= "production"
+
+require File.dirname(__FILE__) + "/../../config/environment"
+
+$running = true;
+Signal.trap("TERM") do
+ $running = false
+end
+
+while($running) do
+ if Time.now.hour == 4 or Time.now.hour == 11 or Time.now.hour == 17
+ Feed.harvest
+ sh "rake tmp:cache:clear"
+ end
+ ActiveRecord::Base.logger << "Harvest daemon is still running at #{Time.now}.\n"
+ sleep 1200
+end
Deleted: projects/ogog/trunk/lib/daemons/ranking.rb
===================================================================
--- projects/ogog/trunk/lib/daemons/ranking.rb 2007-05-21 20:48:20 UTC (rev 303)
+++ projects/ogog/trunk/lib/daemons/ranking.rb 2007-05-21 21:08:53 UTC (rev 304)
@@ -1,21 +0,0 @@
-#!/usr/bin/env ruby
-
-#You might want to change this
-ENV["RAILS_ENV"] ||= "production"
-
-require File.dirname(__FILE__) + "/../../config/environment"
-
-$running = true;
-Signal.trap("TERM") do
- $running = false
-end
-
-while($running) do
- if Time.now.hour == 2
- Membership.calculate_percentiles
- Membership.calculate_scores(OgOg::Config::MEMBERSHIP_SCORE_POSTS)
- sleep 3600 * 10
- end
- ActiveRecord::Base.logger << "Ranking daemon is still running at #{Time.now}.\n"
- sleep 1200
-end
Deleted: projects/ogog/trunk/lib/daemons/sweeper.rb
===================================================================
--- projects/ogog/trunk/lib/daemons/sweeper.rb 2007-05-21 20:48:20 UTC (rev 303)
+++ projects/ogog/trunk/lib/daemons/sweeper.rb 2007-05-21 21:08:53 UTC (rev 304)
@@ -1,21 +0,0 @@
-#!/usr/bin/env ruby
-
-#You might want to change this
-ENV["RAILS_ENV"] ||= "production"
-
-require File.dirname(__FILE__) + "/../../config/environment"
-
-$running = true;
-Signal.trap("TERM") do
- $running = false
-end
-
-while($running) do
- if Time.now.hour == 3
- Post.sweep_unrated_old(OgOg::Config::OLD_TIME)
- Tagging.remove_bad_tags(OgOg::Config::BAD_TIME)
- sleep 3600 * 10
- end
- ActiveRecord::Base.logger << "Sweeper daemon is still running at #{Time.now}.\n"
- sleep 1200
-end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|