logilogi-svn Mailing List for LogiLogi - Software Libre for the Web
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...> - 2011-03-01 13:35:35
|
Revision: 1784
http://logilogi.svn.sourceforge.net/logilogi/?rev=1784&view=rev
Author: wybow
Date: 2011-03-01 13:35:29 +0000 (Tue, 01 Mar 2011)
Log Message:
-----------
Cleanup
Modified Paths:
--------------
trunk/app/models/global_config.rb
trunk/app/models/logi.rb
trunk/app/models/tag.rb
trunk/app/models/used_tag.rb
trunk/test/unit/user_test.rb
Modified: trunk/app/models/global_config.rb
===================================================================
--- trunk/app/models/global_config.rb 2011-03-01 08:17:28 UTC (rev 1783)
+++ trunk/app/models/global_config.rb 2011-03-01 13:35:29 UTC (rev 1784)
@@ -197,7 +197,8 @@
def #{kind.to_s}_tag_string=(string)
tag = Tag.from_s(string)
self.#{kind.to_s}_tag = tag
- UsedTag.use(tag)
+ UsedTag.use(tag#{(kind.to_s == "main_page" ?
+ "" : ", :cloud_visibility => false")})
end
EOS
end
Modified: trunk/app/models/logi.rb
===================================================================
--- trunk/app/models/logi.rb 2011-03-01 08:17:28 UTC (rev 1783)
+++ trunk/app/models/logi.rb 2011-03-01 13:35:29 UTC (rev 1784)
@@ -478,7 +478,11 @@
end
end
self.tags.each do |t|
- UsedTag.use(t)
+ if self.tags.size == 2 and self.tags[1].home_page?
+ UsedTag.use(t, :cloud_visibility => false)
+ else
+ UsedTag.use(t)
+ end
end
end
return true
Modified: trunk/app/models/tag.rb
===================================================================
--- trunk/app/models/tag.rb 2011-03-01 08:17:28 UTC (rev 1783)
+++ trunk/app/models/tag.rb 2011-03-01 13:35:29 UTC (rev 1784)
@@ -181,7 +181,7 @@
#
def system?
return (self == Tag.replace or self == Tag.untagged or
- self == Tag.sandbox)
+ self == Tag.sandbox or self == Tag.blog)
end
# Parsing
Modified: trunk/app/models/used_tag.rb
===================================================================
--- trunk/app/models/used_tag.rb 2011-03-01 08:17:28 UTC (rev 1783)
+++ trunk/app/models/used_tag.rb 2011-03-01 13:35:29 UTC (rev 1784)
@@ -88,11 +88,10 @@
#
# If needed, creates a UsedTag for it.
#
- def self.use(tag)
+ def self.use(tag, options = {})
u_t = UsedTag.or_new_from_tag(tag)
- # TODO make more efficient
- if tag.name? or tag.home_page? or tag.system?
- u_t.cloud_visibility = false
+ if !options[:cloud_visibility].nil?
+ u_t.cloud_visibility = options[:cloud_visibility]
end
u_t.increment
u_t.save
Modified: trunk/test/unit/user_test.rb
===================================================================
--- trunk/test/unit/user_test.rb 2011-03-01 08:17:28 UTC (rev 1783)
+++ trunk/test/unit/user_test.rb 2011-03-01 13:35:29 UTC (rev 1784)
@@ -52,9 +52,11 @@
u = User.new(:openid_identifier => 'http://top.castle.com',
:name => 'Bo Bény', :email => 'to...@ca...')
assert u.save
- assert_equal Tag.from_s("Bo_Bény"), u.home_page_tag
+ t = Tag.from_s("Bo_Bény")
+ assert_equal t, u.home_page_tag
assert_equal "Bo_Bény", u.default_prefs_profile.name
assert_volatile_to_logi('Bo_Bény/' + Tag.user.to_s)
+ assert !UsedTag.or_new_from_tag(t).cloud_visibility
end
def test_name_validation
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2011-03-01 08:17:34
|
Revision: 1783
http://logilogi.svn.sourceforge.net/logilogi/?rev=1783&view=rev
Author: wybow
Date: 2011-03-01 08:17:28 +0000 (Tue, 01 Mar 2011)
Log Message:
-----------
Improved efficiency of homepage
Modified Paths:
--------------
trunk/app/models/used_tag.rb
trunk/db/schema.rb
Added Paths:
-----------
trunk/db/migrate/20110301070022_used_tag_cloud_visibility.rb
Modified: trunk/app/models/used_tag.rb
===================================================================
--- trunk/app/models/used_tag.rb 2011-01-04 21:33:59 UTC (rev 1782)
+++ trunk/app/models/used_tag.rb 2011-03-01 08:17:28 UTC (rev 1783)
@@ -41,21 +41,13 @@
#
def self.top_used_tags(options = {})
if options.delete(:no_special)
- if options[:limit]
- limit = options[:limit]
- options[:limit] = options[:limit] * 2
+ if !options[:conditions]
+ options[:conditions] = []
end
- toppers = UsedTag.find(:all, options.merge(
- :order => "use_count DESC")).reject {|t|
- t.tag.name? or t.tag.home_page? or t.tag.system? }
- if !options[:limit]
- limit = toppers.size
- end
- return toppers[0...limit].sort_by {|used_tag| used_tag.tag}
- else
- return UsedTag.find(:all, options.merge(
- :order => "use_count DESC")).sort_by {|used_tag| used_tag.tag}
+ options[:conditions].push('cloud_visibility = true')
end
+ return UsedTag.find(:all, options.merge(
+ :order => "use_count DESC")).sort_by {|used_tag| used_tag.tag}
end
### Parsing
@@ -98,6 +90,10 @@
#
def self.use(tag)
u_t = UsedTag.or_new_from_tag(tag)
+ # TODO make more efficient
+ if tag.name? or tag.home_page? or tag.system?
+ u_t.cloud_visibility = false
+ end
u_t.increment
u_t.save
end
Added: trunk/db/migrate/20110301070022_used_tag_cloud_visibility.rb
===================================================================
--- trunk/db/migrate/20110301070022_used_tag_cloud_visibility.rb (rev 0)
+++ trunk/db/migrate/20110301070022_used_tag_cloud_visibility.rb 2011-03-01 08:17:28 UTC (rev 1783)
@@ -0,0 +1,25 @@
+class UsedTagCloudVisibility < ActiveRecord::Migration
+ def self.up
+ add_column :used_tags, :cloud_visibility, :boolean, :default => true, :null => false
+
+ if GlobalConfig.available?
+ UsedTagCloudVisibility.update
+ end
+ end
+
+ def self.down
+ raise 'No way back'
+ end
+
+ def self.update
+ # Change language as needed
+ UsedTag.find(:all).each {|t|
+ if t.tag.name? or t.tag.home_page? or t.tag.system?
+ t.cloud_visibility = false
+ else
+ t.cloud_visibility = true
+ end
+ t.save
+ }
+ end
+end
Modified: trunk/db/schema.rb
===================================================================
--- trunk/db/schema.rb 2011-01-04 21:33:59 UTC (rev 1782)
+++ trunk/db/schema.rb 2011-03-01 08:17:28 UTC (rev 1783)
@@ -9,7 +9,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20100923165007) do
+ActiveRecord::Schema.define(:version => 20110301070022) do
create_table "acts_as_xapian_jobs", :force => true do |t|
t.string "model", :null => false
@@ -261,8 +261,9 @@
add_index "steps", ["path_id"], :name => "index_steps_on_path_id"
create_table "used_tags", :force => true do |t|
- t.string "string", :limit => 80, :null => false
- t.integer "use_count", :default => 0, :null => false
+ t.string "string", :limit => 80, :null => false
+ t.integer "use_count", :default => 0, :null => false
+ t.boolean "cloud_visibility", :default => true, :null => false
end
add_index "used_tags", ["string"], :name => "index_used_tags_on_string"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2011-01-04 21:34:05
|
Revision: 1782
http://logilogi.svn.sourceforge.net/logilogi/?rev=1782&view=rev
Author: wybow
Date: 2011-01-04 21:33:59 +0000 (Tue, 04 Jan 2011)
Log Message:
-----------
Further cleanup
Modified Paths:
--------------
trunk/public/javascripts/magick_corners.js
Modified: trunk/public/javascripts/magick_corners.js
===================================================================
--- trunk/public/javascripts/magick_corners.js 2011-01-04 21:21:19 UTC (rev 1781)
+++ trunk/public/javascripts/magick_corners.js 2011-01-04 21:33:59 UTC (rev 1782)
@@ -34,13 +34,13 @@
initialize: function(args) {
options = new Hash(args);
- if (options !== null) {
+ if (options != null) {
this.path_prefix = options.unset('path_prefix');
}
if (options.keys.size > 0) {
alert('Misspelled option given');
}
- this.path_prefix = this.path_prefix !== null ? this.path_prefix + '/' : '';
+ this.path_prefix = this.path_prefix != null ? this.path_prefix + '/' : '';
},
// // Public Methods
@@ -147,12 +147,12 @@
// // Set the image url
format = 'png';
- if (options.scaled_image !== null ) {
+ if (options.scaled_image != null ) {
image_url = 'url(/' + this.path_prefix + 'magick_corners/scaled_image.' +
image_size.limit + '.' + options.scaled_dimension +
'.' + options.scaled_image + '.' + format + ')';
} else {
- if (options.image !== null) {
+ if (options.image != null) {
image_url = 'url(/' + this.path_prefix + 'magick_corners/image.' + image_size.width + '.' + image_size.height +
'.' + options.image + '.' + options.corner_size + '.' +
options.image_start_corner + '.' + format + ')';
@@ -296,7 +296,7 @@
width = element_vars.full_width;
height = element_vars.full_height;
}
- if (options.scaled_image !== null) {
+ if (options.scaled_image != null) {
if (options.scaled_dimension == 'height') {
limit = height;
} else {
@@ -315,7 +315,7 @@
harvest_args: function(args) {
var corner_size, stretch_side, image, image_start_corner;
options = new Hash(args);
- if (options !== null) {
+ if (options != null) {
// image and box settings
corner_size = options.unset('corner_size');
stretch_side = options.unset('stretch_side');
@@ -332,11 +332,11 @@
if (options.keys.size > 0) {
alert('Misspelled option given');
}
- corner_size = corner_size !== null ? corner_size : this.DefaultCornerSize;
- stretch_side = stretch_side !== null ? stretch_side : 'bottom';
- image_start_corner = image_start_corner !== null ? image_start_corner : 'north_west';
- reference_size = reference_size !== null ? reference_size : 40;
- scaled_dimension = scaled_dimension !== null ? scaled_dimension : 'height';
+ corner_size = corner_size != null ? corner_size : this.DefaultCornerSize;
+ stretch_side = stretch_side != null ? stretch_side : 'bottom';
+ image_start_corner = image_start_corner != null ? image_start_corner : 'north_west';
+ reference_size = reference_size != null ? reference_size : 40;
+ scaled_dimension = scaled_dimension != null ? scaled_dimension : 'height';
return {corner_size : corner_size,
stretch_side : stretch_side,
@@ -360,7 +360,7 @@
background_color = this.get_color_style(element, 'backgroundColor');
border_width = this.get_int_style(element, 'borderTopWidth');
- if (!isNaN(border_width) && (border_width !== 0)) {
+ if (!isNaN(border_width) && (border_width != 0)) {
border_color = this.get_color_style(element, 'borderTopColor');
} else {
border_width = 0;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2011-01-04 21:21:25
|
Revision: 1781
http://logilogi.svn.sourceforge.net/logilogi/?rev=1781&view=rev
Author: wybow
Date: 2011-01-04 21:21:19 +0000 (Tue, 04 Jan 2011)
Log Message:
-----------
Cleanup of magick corners, temporarily disabled mailers
Modified Paths:
--------------
trunk/lib/tasks/daemons.rake
trunk/public/javascripts/magick_corners.js
Modified: trunk/lib/tasks/daemons.rake
===================================================================
--- trunk/lib/tasks/daemons.rake 2010-12-21 15:26:45 UTC (rev 1780)
+++ trunk/lib/tasks/daemons.rake 2011-01-04 21:21:19 UTC (rev 1781)
@@ -47,7 +47,7 @@
PeerGroupMembership.drop_the_powerless
if GlobalConfig.use_log_log
- LogLogSubscription.send_out_alerts('daily')
+# LogLogSubscription.send_out_alerts('daily')
end
ActiveRecord::Base.logger.info "Daily finished at #{Time.now}.\n"
@@ -60,7 +60,7 @@
ActiveRecord::Base.logger.info "Weekly started at #{Time.now}.\n"
if GlobalConfig.use_log_log
- LogLogSubscription.send_out_alerts('weekly')
+# LogLogSubscription.send_out_alerts('weekly')
end
ActiveRecord::Base.logger.info "Weekly finished at #{Time.now}.\n"
Modified: trunk/public/javascripts/magick_corners.js
===================================================================
--- trunk/public/javascripts/magick_corners.js 2010-12-21 15:26:45 UTC (rev 1780)
+++ trunk/public/javascripts/magick_corners.js 2011-01-04 21:21:19 UTC (rev 1781)
@@ -16,7 +16,7 @@
*/
Prototype.Browser.IE6 = Prototype.Browser.IE &&
- parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE") + 5)) == 6;
+ parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE") + 5), 10) == 6;
var MagickCorners = Class.create({
// // Constants
@@ -34,25 +34,26 @@
initialize: function(args) {
options = new Hash(args);
- if (options != null) {
+ if (options !== null) {
this.path_prefix = options.unset('path_prefix');
}
if (options.keys.size > 0) {
alert('Misspelled option given');
}
- this.path_prefix = this.path_prefix != null ? this.path_prefix + '/' : ''
+ this.path_prefix = this.path_prefix !== null ? this.path_prefix + '/' : '';
},
// // Public Methods
add: function(selector, args) {
+ var options = null;
// not (yet) working in Opera and Safari
if (Prototype.Browser.Opera || Prototype.Browser.MobileSafari) {
return;
}
// // Harvest config variables
- var options = this.harvest_args(args);
+ options = this.harvest_args(args);
this.add_run('mcdone', [selector, options]);
@@ -124,32 +125,34 @@
},
now_to_element: function(element, options, done_tag) {
+ var element_vars, css_options, image_size, outer_css_options,
+ stretch_css_options, format, image_url, outer_element,
+ stretch_element, tempClassName;
if (this.not_done(element, done_tag)) {
- var element_vars = this.get_element_vars(element, options);
+ element_vars = this.get_element_vars(element, options);
// // Prepare the options
- var css_options = new Hash();
+ css_options = new Hash();
//css_options.set('overflow', 'auto');
css_options.set('backgroundRepeat', 'no-repeat');
- var image_size = this.get_image_size(options, element_vars);
+ image_size = this.get_image_size(options, element_vars);
if (options.stretch_side != 'none') {
- var outer_css_options = new Hash();
- var stretch_css_options = new Hash();
+ outer_css_options = new Hash();
+ stretch_css_options = new Hash();
this.prepare_options_for_stretch(css_options, outer_css_options, stretch_css_options,
options, element_vars, image_size);
}
// // Set the image url
- var format = 'png';
- var image_url;
- if (options.scaled_image != null ) {
+ format = 'png';
+ if (options.scaled_image !== null ) {
image_url = 'url(/' + this.path_prefix + 'magick_corners/scaled_image.' +
image_size.limit + '.' + options.scaled_dimension +
'.' + options.scaled_image + '.' + format + ')';
} else {
- if (options.image != null) {
+ if (options.image !== null) {
image_url = 'url(/' + this.path_prefix + 'magick_corners/image.' + image_size.width + '.' + image_size.height +
'.' + options.image + '.' + options.corner_size + '.' +
options.image_start_corner + '.' + format + ')';
@@ -166,9 +169,6 @@
}
if (options.stretch_side != 'none') {
- // // Create new elements
- var outer_element, stretch_element;
-
// Create the new outer-element
outer_element = new Element('div');
if (element.getAttribute('id')) {
@@ -188,7 +188,7 @@
}
});
- var tempClassName = element.className;
+ tempClassName = element.className;
element.setAttribute('class','');
element.className = '';
// The mcdone is needed to prevent double borders
@@ -215,13 +215,18 @@
}
element.setStyle2(css_options);
if (options.stretch_side != 'none') {
- stretch_element.setStyle2(stretch_css_options)
+ stretch_element.setStyle2(stretch_css_options);
}
}
},
prepare_options_for_stretch: function(css_options, outer_css_options, stretch_css_options,
options, element_vars, image_size) {
+ var remaining_adjustment = 0,
+ stretch_sides = ['top', 'right', 'bottom', 'left'], // same order
+ stretch_side_index = stretch_sides.indexOf(options.stretch_side),
+ new_stretch_padding = element_vars.full_padding_values[stretch_side_index] - image_size.corner_size;
+
// block and overflow
outer_css_options.set('display', 'block');
//outer_css_options.set('overflow', 'auto');
@@ -241,14 +246,6 @@
outer_css_options.set('width', element_vars.full_width + 'px');
outer_css_options.set('height', element_vars.full_height + 'px');
- // // Settings dependent on side
-
- // padding adjustment
- var remaining_adjustment = 0;
- var stretch_sides = ['top', 'right', 'bottom', 'left']; // same order as padding sides
- var stretch_side_index = stretch_sides.indexOf(options.stretch_side);
-
- var new_stretch_padding = element_vars.full_padding_values[stretch_side_index] - image_size.corner_size;
if (new_stretch_padding < 0) {
remaining_adjustment = new_stretch_padding * -1;
new_stretch_padding = 0;
@@ -299,11 +296,11 @@
width = element_vars.full_width;
height = element_vars.full_height;
}
- if (options.scaled_image != null) {
+ if (options.scaled_image !== null) {
if (options.scaled_dimension == 'height') {
- limit = height
+ limit = height;
} else {
- limit = width
+ limit = width;
}
corner_size = Math.floor((limit / options.reference_size) * options.corner_size);
} else {
@@ -318,7 +315,7 @@
harvest_args: function(args) {
var corner_size, stretch_side, image, image_start_corner;
options = new Hash(args);
- if (options != null) {
+ if (options !== null) {
// image and box settings
corner_size = options.unset('corner_size');
stretch_side = options.unset('stretch_side');
@@ -328,18 +325,18 @@
image_start_corner = options.unset('image_start_corner');
// scaled image settings
- reference_size = options.unset('reference_size')
+ reference_size = options.unset('reference_size');
scaled_image = options.unset('scaled_image');
- scaled_dimension = options.unset('scaled_dimension')
+ scaled_dimension = options.unset('scaled_dimension');
}
if (options.keys.size > 0) {
alert('Misspelled option given');
}
- corner_size = corner_size != null ? corner_size : this.DefaultCornerSize;
- stretch_side = stretch_side != null ? stretch_side : 'bottom';
- image_start_corner = image_start_corner != null ? image_start_corner : 'north_west';
- reference_size = reference_size != null ? reference_size : 40;
- scaled_dimension = scaled_dimension != null ? scaled_dimension : 'height';
+ corner_size = corner_size !== null ? corner_size : this.DefaultCornerSize;
+ stretch_side = stretch_side !== null ? stretch_side : 'bottom';
+ image_start_corner = image_start_corner !== null ? image_start_corner : 'north_west';
+ reference_size = reference_size !== null ? reference_size : 40;
+ scaled_dimension = scaled_dimension !== null ? scaled_dimension : 'height';
return {corner_size : corner_size,
stretch_side : stretch_side,
@@ -352,7 +349,7 @@
get_element_vars: function(element, options) {
var full_width, full_height, width, height,
- background_color, border_width, border_color, full_padding_values
+ background_color, border_width, border_color, full_padding_values;
// // Get the current sizes and colors
full_width = element.getWidth();
full_height = element.getHeight();
@@ -363,8 +360,7 @@
background_color = this.get_color_style(element, 'backgroundColor');
border_width = this.get_int_style(element, 'borderTopWidth');
- border_color;
- if (!isNaN(border_width) && (border_width != 0)) {
+ if (!isNaN(border_width) && (border_width !== 0)) {
border_color = this.get_color_style(element, 'borderTopColor');
} else {
border_width = 0;
@@ -408,11 +404,11 @@
},
get_int_style: function(outer_element, style) {
- var str = outer_element.getStyle(style)
+ var str = outer_element.getStyle(style);
if (str.match(/em/)) {
- return parseInt(parseFloat(str.gsub('em','')) * this.Emsize);
+ return parseInt(parseFloat(str.gsub('em','')) * this.Emsize, 10);
} else {
- return parseInt(parseFloat(str.gsub('px','')));
+ return parseInt(parseFloat(str.gsub('px','')), 10);
}
},
@@ -423,16 +419,16 @@
var arr = str.split(', ');
return this.to_hex(arr[0]) + this.to_hex(arr[1]) + this.to_hex(arr[2]);
} else {
- return str
+ return str;
}
},
to_hex: function(N) {
- if (N == null) {
+ if (N === null) {
return "00";
}
- N = parseInt(N);
- if (N == 0 || isNaN(N)) {
+ N = parseInt(N, 10);
+ if (N === 0 || isNaN(N)) {
return "00";
}
N = Math.max(0,N);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-12-21 15:26:53
|
Revision: 1780
http://logilogi.svn.sourceforge.net/logilogi/?rev=1780&view=rev
Author: wybow
Date: 2010-12-21 15:26:45 +0000 (Tue, 21 Dec 2010)
Log Message:
-----------
Introduced graceful failure if log.logilogi.org is not running
Modified Paths:
--------------
trunk/app/models/log_log_message.rb
trunk/app/models/log_log_subscription.rb
trunk/db/schema.rb
Modified: trunk/app/models/log_log_message.rb
===================================================================
--- trunk/app/models/log_log_message.rb 2010-10-11 22:54:26 UTC (rev 1779)
+++ trunk/app/models/log_log_message.rb 2010-12-21 15:26:45 UTC (rev 1780)
@@ -20,5 +20,14 @@
end
end
+ alias __save__ save
+ def save
+ begin
+ self.__save__
+ rescue
+ ActiveRecord::Base.logger.error "Error: LogLog enabled, but not found.\n"
+ end
+ end
+
self.initialize_global_config
end
Modified: trunk/app/models/log_log_subscription.rb
===================================================================
--- trunk/app/models/log_log_subscription.rb 2010-10-11 22:54:26 UTC (rev 1779)
+++ trunk/app/models/log_log_subscription.rb 2010-12-21 15:26:45 UTC (rev 1780)
@@ -20,22 +20,26 @@
def self.send_out_alerts(period)
sent_to = []
- LogLogSubscription.find_each(:conditions => ['period = ?', period]) do |lls|
- url = URI.parse(GlobalConfig.log_log_site +
- "/channels/" + lls.channel + "/periods/" + period + ".txt")
- begin
- page = Net::HTTP.get_response(url)
- periodical = page.body
- if periodical =~ /[^\s]/
- if lls.channel == "logis"
- Notifier.deliver_logis_log(lls.user, period, periodical)
- else
- Notifier.deliver_personalized_log(lls.user, period, periodical)
+ begin
+ LogLogSubscription.find_each(:conditions => ['period = ?', period]) do |lls|
+ url = URI.parse(GlobalConfig.log_log_site +
+ "/channels/" + lls.channel + "/periods/" + period + ".txt")
+ begin
+ page = Net::HTTP.get_response(url)
+ periodical = page.body
+ if periodical =~ /[^\s]/
+ if lls.channel == "logis"
+ Notifier.deliver_logis_log(lls.user, period, periodical)
+ else
+ Notifier.deliver_personalized_log(lls.user, period, periodical)
+ end
+ sent_to << lls.user.name
end
- sent_to << lls.user.name
+ rescue
end
- rescue
end
+ rescue
+ ActiveRecord::Base.logger.error "LogLog enabled, but not found.\n"
end
if sent_to.empty?
sent_to = ['Nobody']
@@ -51,4 +55,13 @@
"Sent personalized #{period} to: " + sent_to.join(', '))
end
end
+
+ alias __save__ save
+ def save
+ begin
+ self.__save__
+ rescue
+ ActiveRecord::Base.logger.error "Error: LogLog enabled, but not found.\n"
+ end
+ end
end
Modified: trunk/db/schema.rb
===================================================================
--- trunk/db/schema.rb 2010-10-11 22:54:26 UTC (rev 1779)
+++ trunk/db/schema.rb 2010-12-21 15:26:45 UTC (rev 1780)
@@ -9,7 +9,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20100810165341) do
+ActiveRecord::Schema.define(:version => 20100923165007) do
create_table "acts_as_xapian_jobs", :force => true do |t|
t.string "model", :null => false
@@ -20,11 +20,11 @@
add_index "acts_as_xapian_jobs", ["model", "model_id"], :name => "index_acts_as_xapian_jobs_on_model_and_model_id", :unique => true
create_table "annotations", :force => true do |t|
- t.integer "logi_id", :null => false
- t.integer "user_id", :null => false
- t.string "message", :null => false
- t.string "position_ranges_string", :limit => 80, :null => false
- t.datetime "created_at", :null => false
+ t.integer "logi_id", :null => false
+ t.integer "user_id", :null => false
+ t.string "message", :null => false
+ t.string "position_ranges_string", :limit => 2048, :null => false
+ t.datetime "created_at", :null => false
end
add_index "annotations", ["logi_id"], :name => "index_annotations_on_logi_id"
@@ -40,12 +40,12 @@
add_index "commentings", ["to_logi_id"], :name => "index_commentings_on_to_logi_id"
create_table "external_links", :force => true do |t|
- t.integer "logi_id", :null => false
- t.integer "user_id", :null => false
- t.string "text", :null => false
- t.string "url", :null => false
- t.string "position_ranges_string", :limit => 80, :null => false
- t.datetime "created_at", :null => false
+ t.integer "logi_id", :null => false
+ t.integer "user_id", :null => false
+ t.string "text", :null => false
+ t.string "url", :null => false
+ t.string "position_ranges_string", :limit => 2048, :null => false
+ t.datetime "created_at", :null => false
end
add_index "external_links", ["logi_id"], :name => "index_external_links_on_logi_id"
@@ -113,16 +113,16 @@
add_index "link_matches", ["logi_id"], :name => "index_link_matches_on_logi_id"
create_table "links", :force => true do |t|
- t.integer "user_id", :null => false
- t.integer "from_logi_id", :null => false
+ t.integer "user_id", :null => false
+ t.integer "from_logi_id", :null => false
t.integer "to_logi_id"
t.integer "to_logi_version_nr"
t.string "requested_tags_string", :limit => 120
t.string "received_tags_string", :limit => 120
- t.string "position_ranges_string", :limit => 512, :null => false
- t.integer "stance", :null => false
- t.datetime "created_at", :null => false
- t.boolean "re_resolve", :default => false, :null => false
+ t.string "position_ranges_string", :limit => 2048, :null => false
+ t.integer "stance", :null => false
+ t.datetime "created_at", :null => false
+ t.boolean "re_resolve", :default => false, :null => false
end
add_index "links", ["from_logi_id", "to_logi_id"], :name => "index_links_on_from_logi_id_and_to_logi_id"
@@ -139,11 +139,11 @@
add_index "log_log_subscriptions", ["user_id"], :name => "index_log_log_subscriptions_on_user_id"
create_table "logi_versions", :force => true do |t|
- t.integer "logi_id", :null => false
- t.integer "editor_user_id", :null => false
- t.integer "nr", :null => false
- t.string "position_ranges_string", :limit => 8192, :null => false
- t.datetime "created_at", :null => false
+ t.integer "logi_id", :null => false
+ t.integer "editor_user_id", :null => false
+ t.integer "nr", :null => false
+ t.string "position_ranges_string", :limit => 16384, :null => false
+ t.datetime "created_at", :null => false
end
add_index "logi_versions", ["logi_id", "nr"], :name => "index_logi_versions_on_logi_id_and_nr", :unique => true
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-10-11 22:54:32
|
Revision: 1779
http://logilogi.svn.sourceforge.net/logilogi/?rev=1779&view=rev
Author: wybow
Date: 2010-10-11 22:54:26 +0000 (Mon, 11 Oct 2010)
Log Message:
-----------
Fixed small deployment problem
Modified Paths:
--------------
projects/loglog/trunk/config/deploy.rb
Modified: projects/loglog/trunk/config/deploy.rb
===================================================================
--- projects/loglog/trunk/config/deploy.rb 2010-09-30 09:18:30 UTC (rev 1778)
+++ projects/loglog/trunk/config/deploy.rb 2010-10-11 22:54:26 UTC (rev 1779)
@@ -13,6 +13,8 @@
set :remote_user, "wybo"
set :keep_releases, 5
+default_run_options[:pty] = true
+
# If you aren't using Subversion to manage your source code, specify
# your SCM below:
# set :scm, :subversion
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-09-30 09:18:36
|
Revision: 1778
http://logilogi.svn.sourceforge.net/logilogi/?rev=1778&view=rev
Author: wybow
Date: 2010-09-30 09:18:30 +0000 (Thu, 30 Sep 2010)
Log Message:
-----------
Added poster-mode to b-rex
Modified Paths:
--------------
tools/b-rex/b-rex
Modified: tools/b-rex/b-rex
===================================================================
--- tools/b-rex/b-rex 2010-09-23 18:12:37 UTC (rev 1777)
+++ tools/b-rex/b-rex 2010-09-30 09:18:30 UTC (rev 1778)
@@ -52,6 +52,8 @@
# -a, --assemble Follows all includes and makes it a single file
# -e, --expand Assembles and expands to normal tex (does not
# turn it into a pdf yet)
+# -p, --poster-mode Uses lists with narrower margins, instead of
+# latexes 'itemize'
#
# == Requirements
# Ruby (inc rdoc, not included in Debian & Ubuntu, needs ruby and rdoc
@@ -85,8 +87,8 @@
@options.process = false
@options.assemble = false
@options.expand = false
- @options.list_margin = '1.9em'
- @options.list_squeeze = false
+ @options.poster = false
+ # more options in preprocess_options
end
# Parse options, check arguments, then process the command
@@ -109,12 +111,13 @@
def parsed_options?
# Specify options
opts = OptionParser.new
- opts.on('-v', '--version') { output_version ; exit 0 }
- opts.on('-h', '--help') { output_help }
- opts.on('-V', '--verbose') { @options.verbose = true }
- opts.on('-b', '--bibclean') { @options.bibclean = true }
- opts.on('-a', '--assemble') { @options.assemble = true }
- opts.on('-e', '--expand') { @options.expand = true }
+ opts.on('-v', '--version') { output_version ; exit 0 }
+ opts.on('-h', '--help') { output_help }
+ opts.on('-V', '--verbose') { @options.verbose = true }
+ opts.on('-b', '--bibclean') { @options.bibclean = true }
+ opts.on('-a', '--assemble') { @options.assemble = true }
+ opts.on('-e', '--expand') { @options.expand = true }
+ opts.on('-p', '--poster-mode') { @options.poster = true }
opts.parse!(@arguments) rescue return false
@options.filename = @arguments[0]
@@ -145,6 +148,10 @@
@options.bibclean = @options.assemble = @options.expand =
@options.make = true
end
+ if @options.poster
+ @options.list_margin = '1.9em'
+ @options.list_squeeze = false
+ end
end
def output_help
@@ -182,9 +189,11 @@
else
bibtex_filename = bibtex_extract_file_name(BASE_PATH, filename)
end
- contents = bibtex_clean_file(BASE_PATH, bibtex_filename)
- File.open(BASE_PATH + '/' + bibtex_filename, 'w') do |target|
- target.write(contents)
+ if bibtex_filename
+ contents = bibtex_clean_file(BASE_PATH, bibtex_filename)
+ File.open(BASE_PATH + '/' + bibtex_filename, 'w') do |target|
+ target.write(contents)
+ end
end
end
@@ -234,7 +243,7 @@
if match
return match[2] + '.bib'
else
- raise 'No bibliography{.*} found in texfile'
+ return nil
end
end
@@ -295,7 +304,7 @@
return lines.join("\n")
end
- NESTING_TYPES = {'*' => 'list', '#' => 'enumerate'}
+ NESTING_TYPES = {'*' => 'itemize', '#' => 'enumerate'}
def expand_item_lists(contents)
lines = contents.split("\n")
@@ -312,9 +321,9 @@
whitespaces_in_line = match[1].size
if whitespaces_in_line > whitespaces_in_last_line
nesting = NESTING_TYPES[match[2]]
- item_nestings.push(nesting)
- if nesting == "list"
- line_begin += ' ' * whitespaces_in_line + '\begin{list}{\labelitemi}{\leftmargin=' + self.options.list_margin + '}' + "\n"
+ if nesting == "itemize" and self.options.poster
+ nesting = "list"
+ line_begin += ' ' * whitespaces_in_line + '\begin{' + nesting + '}{\labelitemi}{\leftmargin=' + self.options.list_margin + '}' + "\n"
if self.options.list_squeeze
line_begin += '\setlength{\itemsep}{0pt}' + "\n" +
'\setlength{\parskip}{0pt}' + "\n" +
@@ -323,6 +332,7 @@
else
line_begin += ' ' * whitespaces_in_line + '\begin{' + nesting + '}' + "\n"
end
+ item_nestings.push(nesting)
elsif whitespaces_in_line < whitespaces_in_last_line and
item_nestings.size > 0
nesting = item_nestings.pop
@@ -447,12 +457,18 @@
done_line_sub = false
begin
subbed = false
- subbed = line.sub!(/~((-|\w|\s)*?)~\{(.*?)\}/,'\hl{\1}{\3}')
+ subbed = line.sub!(/~((-|\w|\s)*?)~\{(.*?)\}/) {|match|
+ self.highlight($1, $3)
+ }
if !subbed
if done_line_sub
- subbed = line.sub!(/~(.*?)~/,'\hl{\1}{0.0em}')
+ subbed = line.sub!(/~(.*?)~/) {|match|
+ self.highlight($1, '0.0em')
+ }
else
- subbed = line.sub!(/~(.*?)~/,'\hl{\1}{-0.2em}')
+ subbed = line.sub!(/~(.*?)~/) {|match|
+ self.highlight($1, '-0.2em')
+ }
end
end
done_line_sub = (subbed ? true : false)
@@ -462,6 +478,11 @@
return lines.join("\n")
end
+ def highlight(sentence, spacing)
+ return '\vspace{-0.2em}\colorbox[cmyk]{0,0,0.4,0.0}{\hspace{-3pt}' +
+ sentence + '\hspace{-3pt}}\vspace{' + spacing + '}'
+ end
+
def frame_default(title, options = {})
if options[:open]
'\begin{frame}[fragile]' + "\n" +
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-09-23 18:12:43
|
Revision: 1777
http://logilogi.svn.sourceforge.net/logilogi/?rev=1777&view=rev
Author: wybow
Date: 2010-09-23 18:12:37 +0000 (Thu, 23 Sep 2010)
Log Message:
-----------
Increased range-lenghts, fixed loglog bug, improved redirects
Modified Paths:
--------------
trunk/app/controllers/application_controller.rb
trunk/app/controllers/invitations_controller.rb
trunk/app/controllers/password_resets_controller.rb
trunk/app/controllers/user_sessions_controller.rb
trunk/app/controllers/users_controller.rb
trunk/app/models/log_log_subscription.rb
Added Paths:
-----------
trunk/db/migrate/20100923165007_increase_ranges_string_size_again.rb
Modified: trunk/app/controllers/application_controller.rb
===================================================================
--- trunk/app/controllers/application_controller.rb 2010-09-13 21:11:01 UTC (rev 1776)
+++ trunk/app/controllers/application_controller.rb 2010-09-23 18:12:37 UTC (rev 1777)
@@ -63,9 +63,13 @@
#
def append_return_url
session[:return_urls] ||= []
- if params[:action] != "create" and params[:action] != "update" and
- params[:action] != "destroy"
+ if params[:action] == "create" or params[:action] == "update" or
+ params[:action] == "destroy" or
+ (params[:controller] == "user" and params[:action] == "new")
+ # do nothing
+ else
if session[:return_urls].last == request.url
+ # Takes double out in redirect, single in back
session[:return_urls].pop
else
referrer = request.env["HTTP_REFERER"]
@@ -89,6 +93,16 @@
session[:return_url] = session[:return_urls].last
end
+ # Redirects to the last visited url
+ #
+ def redirect_to_return_url_or_default(default_url = nil)
+ url = return_url_or_default(default_url)
+ # Adds an extra copy of the last url which will be popped again
+ # in append_return_url
+ session[:return_urls].push(url)
+ redirect_to url
+ end
+
# Returns the last visited url
#
def return_url_or_default(default_url = nil)
@@ -727,7 +741,7 @@
def require_no_login
if !self.current_user.anonymous?
flash[:warning] = t 'c.application.must_not_be_logged_in'
- redirect_to return_url_or_default(user_url(current_user))
+ redirect_to_return_url_or_default(user_url(current_user))
return false
end
end
Modified: trunk/app/controllers/invitations_controller.rb
===================================================================
--- trunk/app/controllers/invitations_controller.rb 2010-09-13 21:11:01 UTC (rev 1776)
+++ trunk/app/controllers/invitations_controller.rb 2010-09-23 18:12:37 UTC (rev 1777)
@@ -41,7 +41,7 @@
flash[:notice] = t 'c.invitations.sent_to',
:user => @invitation.user.name
end
- redirect_to return_url_or_default # same form again for another invite
+ redirect_to_return_url_or_default # same form again for another invite
else
@invitation = Invitation.new
flash[:error] = t 'c.invitations.error_creating'
@@ -81,7 +81,7 @@
end
unless @invitation
flash[:notice] = t 'c.invitations.url_issues'
- redirect_to return_url_or_default
+ redirect_to_return_url_or_default
end
end
Modified: trunk/app/controllers/password_resets_controller.rb
===================================================================
--- trunk/app/controllers/password_resets_controller.rb 2010-09-13 21:11:01 UTC (rev 1776)
+++ trunk/app/controllers/password_resets_controller.rb 2010-09-23 18:12:37 UTC (rev 1777)
@@ -33,7 +33,7 @@
if @user
@user.deliver_password_reset_instructions!
flash[:notice] = t 'c.password_resets.instructions_emailed'
- redirect_to return_url_or_default
+ redirect_to_return_url_or_default
else
@user = User.new
flash[:error] = t 'c.password_resets.error_not_found'
@@ -63,7 +63,7 @@
@user = User.find_using_perishable_token(params[:id])
unless @user
flash[:notice] = t 'c.password_resets.url_issues'
- redirect_to return_url_or_default
+ redirect_to_return_url_or_default
end
end
end
Modified: trunk/app/controllers/user_sessions_controller.rb
===================================================================
--- trunk/app/controllers/user_sessions_controller.rb 2010-09-13 21:11:01 UTC (rev 1776)
+++ trunk/app/controllers/user_sessions_controller.rb 2010-09-23 18:12:37 UTC (rev 1777)
@@ -45,7 +45,7 @@
if session[:invitation].nil?
flash.now[:notice] = t 'c.user_sessions.logged_in'
shift_return_url
- redirect_to return_url_or_default(user_url(@user_session.user))
+ redirect_to_return_url_or_default(user_url(@user_session.user))
else
flash.now[:notice] = t 'c.user_sessions.logged_in_accept_invitation'
redirect_to edit_invitation_url(session[:invitation])
@@ -63,7 +63,7 @@
def destroy
self.current_user_session.destroy
flash[:notice] = t 'c.user_sessions.logged_out'
- redirect_to root_url
+ redirect_to_return_url_or_default
end
### Tabbed methods
Modified: trunk/app/controllers/users_controller.rb
===================================================================
--- trunk/app/controllers/users_controller.rb 2010-09-13 21:11:01 UTC (rev 1776)
+++ trunk/app/controllers/users_controller.rb 2010-09-23 18:12:37 UTC (rev 1777)
@@ -70,15 +70,13 @@
@user.deliver_welcome!
if session[:invitation].nil?
flash[:notice] = t 'c.users.created'
- shift_return_url
- redirect_to return_url_or_default
+ redirect_to_return_url_or_default
else
flash[:notice] = t 'c.users.created_accept_invitation'
redirect_to edit_invitation_url(session[:invitation])
end
else
flash.now[:error] = t 'c.users.error_creating'
- shift_return_url
if !@user.openid_identifier.nil?
@selected = "openid"
end
@@ -105,7 +103,7 @@
@user.save do |result|
if result
flash[:notice] = t 'c.users.updated'
- redirect_to return_url_or_default(user_url(@user))
+ redirect_to_return_url_or_default(user_url(@user))
else
flash[:error] = t 'c.users.error_updating'
render :action => :edit
@@ -117,7 +115,7 @@
params[:prefs_profile][:default_peer_group_id])
if @prefs_profile.save
flash[:notice] = t 'c.users.settings_updated'
- redirect_to return_url_or_default(user_url(@user))
+ redirect_to_return_url_or_default(user_url(@user))
else
flash[:error] = t 'c.users.error_updating_settings'
render :action => 'edit'
@@ -138,7 +136,7 @@
end
end
flash[:notice] = t 'c.users.settings_updated'
- redirect_to return_url_or_default(user_url(@user))
+ redirect_to_return_url_or_default(user_url(@user))
end
end
Modified: trunk/app/models/log_log_subscription.rb
===================================================================
--- trunk/app/models/log_log_subscription.rb 2010-09-13 21:11:01 UTC (rev 1776)
+++ trunk/app/models/log_log_subscription.rb 2010-09-23 18:12:37 UTC (rev 1777)
@@ -28,11 +28,11 @@
periodical = page.body
if periodical =~ /[^\s]/
if lls.channel == "logis"
- Notifier.deliver_logis_log(user, period, periodical)
+ Notifier.deliver_logis_log(lls.user, period, periodical)
else
- Notifier.deliver_personalized_log(user, period, periodical)
+ Notifier.deliver_personalized_log(lls.user, period, periodical)
end
- sent_to << user.name
+ sent_to << lls.user.name
end
rescue
end
Added: trunk/db/migrate/20100923165007_increase_ranges_string_size_again.rb
===================================================================
--- trunk/db/migrate/20100923165007_increase_ranges_string_size_again.rb (rev 0)
+++ trunk/db/migrate/20100923165007_increase_ranges_string_size_again.rb 2010-09-23 18:12:37 UTC (rev 1777)
@@ -0,0 +1,11 @@
+class IncreaseRangesStringSizeAgain < ActiveRecord::Migration
+ def self.up
+ change_column :logi_versions, :position_ranges_string, :string, :limit => 16384
+ change_column :annotations, :position_ranges_string, :string, :limit => 2048
+ change_column :external_links, :position_ranges_string, :string, :limit => 2048
+ change_column :links, :position_ranges_string, :string, :limit => 2048
+ end
+
+ def self.down
+ end
+end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-09-13 21:11:07
|
Revision: 1776
http://logilogi.svn.sourceforge.net/logilogi/?rev=1776&view=rev
Author: wybow
Date: 2010-09-13 21:11:01 +0000 (Mon, 13 Sep 2010)
Log Message:
-----------
Fixed small bug in subscriptions
Modified Paths:
--------------
trunk/app/models/commenting.rb
trunk/app/models/external_link.rb
trunk/app/models/log_log_subscription.rb
Modified: trunk/app/models/commenting.rb
===================================================================
--- trunk/app/models/commenting.rb 2010-09-13 20:04:07 UTC (rev 1775)
+++ trunk/app/models/commenting.rb 2010-09-13 21:11:01 UTC (rev 1776)
@@ -46,7 +46,7 @@
m = LogLogMessage.new(
:kind => "Reply",
:channel_names => channels.join(','),
- :title => 'Received:' + self.to_logi.current_title,
+ :title => 'Received: ' + self.to_logi.current_title,
:author => self.user.name,
:text => self.to_logi.current_snippet,
:url => GlobalConfig.site_url + self.to_logi.link.to_s)
@@ -56,7 +56,7 @@
:kind => "Reply",
:channel_name =>
'for_' + self.to_logi.creator.unix_name,
- :title => 'To:' + self.from_logi.current_title,
+ :title => 'To: ' + self.from_logi.current_title,
:author => self.user.name,
:text => self.from_logi.current_snippet,
:url => GlobalConfig.site_url + self.from_logi.link.to_s)
Modified: trunk/app/models/external_link.rb
===================================================================
--- trunk/app/models/external_link.rb 2010-09-13 20:04:07 UTC (rev 1775)
+++ trunk/app/models/external_link.rb 2010-09-13 21:11:01 UTC (rev 1776)
@@ -85,7 +85,7 @@
:kind => "External link",
:channel_names => ['all', 'external_links',
'for_' + self.logi.creator.unix_name].join(','),
- :title => 'In:' + self.logi.current_title,
+ :title => 'In: ' + self.logi.current_title,
:author => self.user.name,
:text => self.text + '\n' + self.url,
:url => GlobalConfig.site_url + self.logi.link.to_s)
Modified: trunk/app/models/log_log_subscription.rb
===================================================================
--- trunk/app/models/log_log_subscription.rb 2010-09-13 20:04:07 UTC (rev 1775)
+++ trunk/app/models/log_log_subscription.rb 2010-09-13 21:11:01 UTC (rev 1776)
@@ -20,7 +20,7 @@
def self.send_out_alerts(period)
sent_to = []
- LogLogSubscription.find_each(:conditions => ['period = "?"', period]) do |lls|
+ LogLogSubscription.find_each(:conditions => ['period = ?', period]) do |lls|
url = URI.parse(GlobalConfig.log_log_site +
"/channels/" + lls.channel + "/periods/" + period + ".txt")
begin
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-09-13 20:04:13
|
Revision: 1775
http://logilogi.svn.sourceforge.net/logilogi/?rev=1775&view=rev
Author: wybow
Date: 2010-09-13 20:04:07 +0000 (Mon, 13 Sep 2010)
Log Message:
-----------
Added delayed screencast disabling, and fixed small bug in medals
Modified Paths:
--------------
trunk/app/controllers/logis_controller.rb
trunk/app/views/changes/_recently_changed_logis.html.erb
trunk/config/deploy.rb.tmpl
trunk/doc/CONTRIBUTORS
trunk/lib/laurel_builder.rb
Modified: trunk/app/controllers/logis_controller.rb
===================================================================
--- trunk/app/controllers/logis_controller.rb 2010-09-12 10:42:53 UTC (rev 1774)
+++ trunk/app/controllers/logis_controller.rb 2010-09-13 20:04:07 UTC (rev 1775)
@@ -343,7 +343,8 @@
end
def screencast
- if !current_context.link? and current_user.anonymous?
+ if !current_context.link? and (current_user.anonymous? or
+ current_user.created_at < 10.days.ago)
return true
end
end
Modified: trunk/app/views/changes/_recently_changed_logis.html.erb
===================================================================
--- trunk/app/views/changes/_recently_changed_logis.html.erb 2010-09-12 10:42:53 UTC (rev 1774)
+++ trunk/app/views/changes/_recently_changed_logis.html.erb 2010-09-13 20:04:07 UTC (rev 1775)
@@ -11,7 +11,7 @@
:id => "recent_changes"} do %>
<div class="index_list">
<!-- <%= link_to 'Jump', 'http://logi-manta.org:3001/?user_id=' + current_user.id.to_s + '&perishable_token=' + current_user.perishable_token %> -->
- <%= render :partial => 'list', :locals => {:logis => @logis, :title_lenght => 150} %>
+ <%= render :partial => 'list', :locals => {:logis => @logis, :title_lenght => 67} %>
</div>
<% end %>
Modified: trunk/config/deploy.rb.tmpl
===================================================================
--- trunk/config/deploy.rb.tmpl 2010-09-12 10:42:53 UTC (rev 1774)
+++ trunk/config/deploy.rb.tmpl 2010-09-13 20:04:07 UTC (rev 1775)
@@ -13,6 +13,8 @@
# servers (which is the default), you can specify the actual location
# via the :deploy_to variable:
+default_run_options[:pty] = true
+
case stage
when "production"
set :deploy_to_base_dir, "/var/www/#{application}"
Modified: trunk/doc/CONTRIBUTORS
===================================================================
--- trunk/doc/CONTRIBUTORS 2010-09-12 10:42:53 UTC (rev 1774)
+++ trunk/doc/CONTRIBUTORS 2010-09-13 20:04:07 UTC (rev 1775)
@@ -8,6 +8,8 @@
- PDF-export plugin
Allan van Hulst
- WYSIWYG-editor based on TinyMCE
+Martine Hornby
+- Tested LogiLogi extensively at the LIRMM lab
Bart Leusink
- Second-best bughunter in the Gip2 bug-hunt
Miguel Lezama
@@ -18,6 +20,8 @@
- Fixed most bugs in the Gip2 bug-hunt, good coder
Roel van Rijswijck
- Good bughunter
+Jean Sallantin
+- Tested, supported, and used LogiLogi at the LIRMM lab
Bruno Sarlo
- Scaling CSS implementation, design of new UI together with Miguel
Thierry Stamper
@@ -44,3 +48,6 @@
Radboud University Nijmegen
- supported Manta development as a Gip-project twice
+
+LIRMM Lab of the university of Montpellier
+- provided help with testing and development for a week in September 2009
Modified: trunk/lib/laurel_builder.rb
===================================================================
--- trunk/lib/laurel_builder.rb 2010-09-12 10:42:53 UTC (rev 1774)
+++ trunk/lib/laurel_builder.rb 2010-09-13 20:04:07 UTC (rev 1775)
@@ -17,7 +17,7 @@
# Creates the badge with ImageMagick
#
def self.build_badge(name, pg_name, percentile, at, helpers)
- percentile = percentile.round
+ percentile = self.round_percentile(percentile)
category = helpers.percentile_category(percentile)
if category > 1
l_nr = ((category - 6) * -1).to_s
@@ -70,7 +70,7 @@
# Creates the medal with ImageMagick
#
def self.build_medal(percentile, helpers)
- percentile = percentile.round
+ percentile = self.round_percentile(percentile)
category = helpers.percentile_category(percentile)
if category > 1
l_nr = ((category - 6) * -1).to_s
@@ -97,4 +97,11 @@
Magick::OverCompositeOp)
return img
end
+
+ def self.round_percentile(percentile)
+ if percentile < 0 or percentile > 100
+ raise 'Error, percentile out of bounds'
+ end
+ return percentile.round
+ end
end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-09-12 10:42:59
|
Revision: 1774
http://logilogi.svn.sourceforge.net/logilogi/?rev=1774&view=rev
Author: wybow
Date: 2010-09-12 10:42:53 +0000 (Sun, 12 Sep 2010)
Log Message:
-----------
bib-rewriting in b-rex and error notice in t-llre
Modified Paths:
--------------
tools/b-rex/b-rex
tools/t-llre/t-llre
Modified: tools/b-rex/b-rex
===================================================================
--- tools/b-rex/b-rex 2010-09-09 17:21:30 UTC (rev 1773)
+++ tools/b-rex/b-rex 2010-09-12 10:42:53 UTC (rev 1774)
@@ -48,6 +48,7 @@
# -h, --help Displays help message
# -v, --version Display the version, then exit
# -V, --verbose Verbose output
+# -b, --bibclean Cleans the bibtex file
# -a, --assemble Follows all includes and makes it a single file
# -e, --expand Assembles and expands to normal tex (does not
# turn it into a pdf yet)
@@ -111,6 +112,7 @@
opts.on('-v', '--version') { output_version ; exit 0 }
opts.on('-h', '--help') { output_help }
opts.on('-V', '--verbose') { @options.verbose = true }
+ opts.on('-b', '--bibclean') { @options.bibclean = true }
opts.on('-a', '--assemble') { @options.assemble = true }
opts.on('-e', '--expand') { @options.expand = true }
@@ -139,8 +141,9 @@
def preprocess_options
if @options.expand
@options.assemble = true
- elsif !@options.assemble
- @options.assemble = @options.expand = @options.make = true
+ elsif !@options.bibclean and !@options.assemble
+ @options.bibclean = @options.assemble = @options.expand =
+ @options.make = true
end
end
@@ -158,6 +161,9 @@
end
def run_app
+ if @options.bibclean
+ bibclean(@options.filename)
+ end
if @options.assemble
assemble(@options.filename)
end
@@ -169,6 +175,19 @@
end
end
+ def bibclean(filename)
+ check_filename_argument(filename, 'latex-file or bibtex-file')
+ if filename !~ /\.tex$/
+ bibtex_filename = filename
+ else
+ bibtex_filename = bibtex_extract_file_name(BASE_PATH, filename)
+ end
+ contents = bibtex_clean_file(BASE_PATH, bibtex_filename)
+ File.open(BASE_PATH + '/' + bibtex_filename, 'w') do |target|
+ target.write(contents)
+ end
+ end
+
def assemble(filename)
check_filename_argument(filename, 'latex-file')
contents = assemble_text_file(BASE_PATH, filename)
@@ -208,7 +227,43 @@
# Sub-sub-functions
- def assemble_text_file(base_path,filename)
+ def bibtex_extract_file_name(base_path, filename)
+ contents = File.open(File.expand_path(filename, base_path)).read
+ contents =~ /(^|\n)[ \t]*\\bibliography\{(.*?)\}(\n|$)/
+ match = $~
+ if match
+ return match[2] + '.bib'
+ else
+ raise 'No bibliography{.*} found in texfile'
+ end
+ end
+
+ def bibtex_clean_file(base_path, filename)
+ contents = File.open(File.expand_path(filename, base_path)).read
+ lines = contents.split("\n")
+ new_lines = []
+ lines.collect! do |line|
+ if line !~ /^[ \t]*howpublished\s*=\s*\{.*$/ and
+ line !~ /^[ \t]*shorttitle\s*=\s*\{.*$/ and
+ line !~ /^[ \t]*isbn\s*=\s*\{.*$/ and
+ line !~ /^[ \t]*abstract\s*=\s*\{.*$/ and
+ line !~ /^[ \t]*doi\s*=\s*\{.*$/ and
+ line !~ /^[ \t]*issn\s*=\s*\{.*$/ and
+ line !~ /^[ \t]*number\s*=\s*\{.*$/
+ line.gsub!("–",'--')
+ line.gsub!("“",'``')
+ line.gsub!("”","''")
+ if line =~ /^[ \t]*pages\s*=\s*\{p(\d*)\}/
+ new_lines << " pages = {#{$~[1]}}"
+ else
+ new_lines << line
+ end
+ end
+ end
+ return new_lines.join("\n")
+ end
+
+ def assemble_text_file(base_path, filename)
if !File.directory?(base_path)
base_path = File.dirname(base_path)
end
@@ -501,8 +556,8 @@
end
def check_filename_argument(filename, file_text)
- if filename.nil?
- puts "Needs filename-argument. The name of the #{file_text}\n"
+ if filename.nil? or !File.exists?(filename)
+ puts "Needs filename-argument for a file that exists. The name of the #{file_text}\n"
output_usage
exit
end
Modified: tools/t-llre/t-llre
===================================================================
--- tools/t-llre/t-llre 2010-09-09 17:21:30 UTC (rev 1773)
+++ tools/t-llre/t-llre 2010-09-12 10:42:53 UTC (rev 1774)
@@ -200,6 +200,9 @@
:body => body,
:level => level}
end
+ if parsed_logis.empty?
+ @errors << "no logis parsed. Check format %ll:/Tags"
+ end
return parsed_logis
end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-09-09 17:21:40
|
Revision: 1773
http://logilogi.svn.sourceforge.net/logilogi/?rev=1773&view=rev
Author: wybow
Date: 2010-09-09 17:21:30 +0000 (Thu, 09 Sep 2010)
Log Message:
-----------
Removed kerning from medal
Modified Paths:
--------------
trunk/lib/laurel_builder.rb
Modified: trunk/lib/laurel_builder.rb
===================================================================
--- trunk/lib/laurel_builder.rb 2010-09-08 20:50:25 UTC (rev 1772)
+++ trunk/lib/laurel_builder.rb 2010-09-09 17:21:30 UTC (rev 1773)
@@ -89,7 +89,6 @@
}
text.annotate(new, 0, 0, 31, 40, percentile.to_s) {
self.pointsize = 26
- self.kerning = 0
self.gravity = Magick::NorthWestGravity
}
new = new.shade(true, 310, 70)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-09-08 20:50:36
|
Revision: 1772
http://logilogi.svn.sourceforge.net/logilogi/?rev=1772&view=rev
Author: wybow
Date: 2010-09-08 20:50:25 +0000 (Wed, 08 Sep 2010)
Log Message:
-----------
Updated translations
Modified Paths:
--------------
trunk/app/controllers/users_controller.rb
trunk/app/views/logis/_snippets_list.html.erb
trunk/app/views/users/_activity.html.erb
trunk/app/views/users/edit.html.erb
trunk/config/locales/de.yml
trunk/config/locales/en.yml
trunk/config/locales/es.yml
trunk/config/locales/nl.yml
Modified: trunk/app/controllers/users_controller.rb
===================================================================
--- trunk/app/controllers/users_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
+++ trunk/app/controllers/users_controller.rb 2010-09-08 20:50:25 UTC (rev 1772)
@@ -243,7 +243,7 @@
def build_save_and_send_badge(user_name, normalized_name, pg_name, pg_normalized_name,
percentile)
img = LaurelBuilder.build_badge(user_name, pg_name, percentile,
- "at", self.helpers)
+ t('c.users.at'), self.helpers)
dir = "#{RAILS_ROOT}/public/do/users/#{normalized_name}/badge"
file = "#{dir}/#{pg_normalized_name}.png"
self.save_and_send_image(img, dir, file)
Modified: trunk/app/views/logis/_snippets_list.html.erb
===================================================================
--- trunk/app/views/logis/_snippets_list.html.erb 2010-09-08 18:31:56 UTC (rev 1771)
+++ trunk/app/views/logis/_snippets_list.html.erb 2010-09-08 20:50:25 UTC (rev 1772)
@@ -1,10 +1,4 @@
-<% if logis.empty? %>
- <center>
- <p class="one_line">
- <i><%= t 'defaults.none' %></i>
- </p>
- </center>
-<% else %>
+<% if !logis.empty? %>
<% logis.each do |logi| %>
<%= render :partial => 'logis/snippet', :locals => {:logi => logi,
:action => local_assigns[:action]} %>
Modified: trunk/app/views/users/_activity.html.erb
===================================================================
--- trunk/app/views/users/_activity.html.erb 2010-09-08 18:31:56 UTC (rev 1771)
+++ trunk/app/views/users/_activity.html.erb 2010-09-08 20:50:25 UTC (rev 1772)
@@ -10,7 +10,7 @@
<% if user == current_user %>
<% url_and_title = [edit_user_url(current_user) + '#badge',
- {:title => _("Put your badge on your blog")}] %>
+ {:title => y('v.users.get_badge')}] %>
<% else %>
<% url_and_title = [user_url(user),
{:title => user.name}] %>
@@ -22,7 +22,7 @@
*url_and_title)%>
<% if user == current_user %>
<div class="smallprint">
- <%= link_to("Get your badge for your blog", *url_and_title) %>
+ <%= link_to(t('v.users.get_badge'), *url_and_title) %>
</div>
<% end %>
Modified: trunk/app/views/users/edit.html.erb
===================================================================
--- trunk/app/views/users/edit.html.erb 2010-09-08 18:31:56 UTC (rev 1771)
+++ trunk/app/views/users/edit.html.erb 2010-09-08 20:50:25 UTC (rev 1772)
@@ -89,12 +89,12 @@
<a name="badge"></a>
<% render :layout => 'application/panel_with_header', :locals => {
:title => t('v.users.badge'), :id => "user_badge"} do %>
- <p><%= _("You can add this badge with your ranking to the side-bar of your blog:") %></p>
+ <p><%= t 'v.users.can_add_badge' %></p>
<%= image_tag(
badge_url(:id => @user.home_page_tag_string,
:peer_group_name => current_prefs.peer_group.home_page_tag_string,
:format => 'png'), :size => '120x60') %>
- <p><%= _("You can do this by inserting the following html where you please:") %></p>
+ <p><%= t 'v.users.can_insert_html' %></p>
<%= text_area_tag 'badge_field', '<a href="' + user_url(@user) + '">' +
image_tag(badge_url(:id => @user.home_page_tag_string,
:peer_group_name => current_prefs.peer_group.home_page_tag_string,
Modified: trunk/config/locales/de.yml
===================================================================
--- trunk/config/locales/de.yml 2010-09-08 18:31:56 UTC (rev 1771)
+++ trunk/config/locales/de.yml 2010-09-08 20:50:25 UTC (rev 1772)
@@ -2,15 +2,15 @@
de:
activerecord:
attributes:
- annotation:
+ annotation:
message: Mitteilung
logi:
body: Text
+ selection: Markierung
title: Titel
- selection: Markierung
- peer_group:
+ peer_group:
name: Name
- remark:
+ remark:
message: Mitteilung
user:
email: Mail
Modified: trunk/config/locales/en.yml
===================================================================
--- trunk/config/locales/en.yml 2010-09-08 18:31:56 UTC (rev 1771)
+++ trunk/config/locales/en.yml 2010-09-08 20:50:25 UTC (rev 1772)
@@ -177,6 +177,7 @@
logged_in_accept_invitation: "Logged you in. Now you can accept your invitation."
logged_out: "Logged you out."
users:
+ at: "at"
confirm_delete: "Are you sure you want to delete your account?"
created: "Your account has been created."
created_accept_invitation: "Your account has been created. Now you can accept your invitation."
@@ -449,7 +450,7 @@
invitation_join: "{{name}} invites you to join the {{group}} peergroup on {{domain}}."
notifier: "LogiLogi Notifier <{{email}}>."
password_reset: "Password reset instructions."
- update_for: "Update for {{name}} on {{domain}}."
+ update_personalized: "Update for {{name}} on {{domain}}."
update_logis: "{{period}} new logis on {{domain}}."
welcome: "Welcome to {{domain}} {{name}}."
peer_group:
@@ -922,6 +923,8 @@
api_key: "API key"
api_key_is_label: "Your API-key is:"
badge: "Badge"
+ can_add_badge: "You can add this badge with your ranking to the side-bar of your blog:"
+ can_insert_html: "You can do this by inserting the following html where you please:"
change_account_settings: "You can change your account settings."
create_edit_invite_peer_groups: "Create, edit and invite people to peergroups."
created_logis_label: "Created logis:"
@@ -937,6 +940,7 @@
email_label: "Email:"
enter_new: "Enter your full name, your email and a password."
full_name_label: "Full name:"
+ get_badge: "Get your badge for your blog"
subscribe: "Subscribe"
feed_label: "RSS feed:"
index: "Users index"
Modified: trunk/config/locales/es.yml
===================================================================
--- trunk/config/locales/es.yml 2010-09-08 18:31:56 UTC (rev 1771)
+++ trunk/config/locales/es.yml 2010-09-08 20:50:25 UTC (rev 1772)
@@ -1,186 +1,212 @@
-# Spanish translations for Rails
-# by Francisco Fernando García Nieto (ffg...@gm...)
-
-es:
- number:
- # Used in number_with_delimiter()
- # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
- format:
- # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
- separator: ","
- # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
- delimiter: "."
- # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
- precision: 3
-
- # Used in number_to_currency()
- currency:
- format:
- # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
- format: "%n %u"
- unit: "€"
- # These three are to override number.format and are optional
- separator: ","
- delimiter: "."
- precision: 2
-
- # Used in number_to_percentage()
- percentage:
- format:
- # These three are to override number.format and are optional
- # separator:
- delimiter: ""
- # precision:
-
- # Used in number_to_precision()
- precision:
- format:
- # These three are to override number.format and are optional
- # separator:
- delimiter: ""
- # precision:
-
- # Used in number_to_human_size()
- human:
- format:
- # These three are to override number.format and are optional
- # separator:
- delimiter: ""
- precision: 1
- # Rails <= v2.2.2
- # storage_units: [Bytes, KB, MB, GB, TB]
- # Rails >= v2.3
- storage_units:
- format: "%n %u"
- units:
- byte:
- one: "Byte"
- other: "Bytes"
- kb: "KB"
- mb: "MB"
- gb: "GB"
- tb: "TB"
-
- # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
- datetime:
- distance_in_words:
- half_a_minute: "medio minuto"
- less_than_x_seconds:
- one: "menos de 1 segundo"
- other: "menos de {{count}} segundos"
- x_seconds:
- one: "1 segundo"
- other: "{{count}} segundos"
- less_than_x_minutes:
- one: "menos de 1 minuto"
- other: "menos de {{count}} minutos"
- x_minutes:
- one: "1 minuto"
- other: "{{count}} minutos"
- about_x_hours:
- one: "alrededor de 1 hora"
- other: "alrededor de {{count}} horas"
- x_days:
- one: "1 día"
- other: "{{count}} días"
- about_x_months:
- one: "alrededor de 1 mes"
- other: "alrededor de {{count}} meses"
- x_months:
- one: "1 mes"
- other: "{{count}} meses"
- about_x_years:
- one: "alrededor de 1 año"
- other: "alrededor de {{count}} años"
- over_x_years:
- one: "más de 1 año"
- other: "más de {{count}} años"
- almost_x_years:
- one: "casi 1 año"
- other: "casi {{count}} años"
- prompts:
- year: "Año"
- month: "Mes"
- day: "Día"
- hour: "Hora"
- minute: "Minutos"
- second: "Segundos"
-
- activerecord:
- errors:
- template:
- header:
- one: "no se pudo guardar este {{model}} porque se encontró 1 error"
- other: "no se pudo guardar este {{model}} porque se encontraron {{count}} errores"
- # The variable :count is also available
- body: "Se encontraron problemas con los siguientes campos:"
-
- # The values :model, :attribute and :value are always available for interpolation
- # The value :count is available when applicable. Can be used for pluralization.
- messages:
- inclusion: "no está incluido en la lista"
- exclusion: "está reservado"
- invalid: "no es válido"
+---
+es:
+ activerecord:
+ attributes:
+ annotation:
+ message: ""
+ logi:
+ body: ""
+ selection: ""
+ title: ""
+ peer_group:
+ name: ""
+ remark:
+ message: ""
+ user:
+ email: ""
+ name: ""
+ password: ""
+ password_confirmation: ""
+ user_session:
+ email: ""
+ name: ""
+ password: ""
+ password_confirmation: ""
+ errors:
+ attributes: ~
+ full_messages:
+ format: ""
+ messages:
+ accepted: "debe ser aceptado"
+ blank: "no puede estar en blanco"
confirmation: "no coincide con la confirmación"
- accepted: "debe ser aceptado"
empty: "no puede estar vacío"
- blank: "no puede estar en blanco"
- too_long: "es demasiado largo ({{count}} caracteres máximo)"
- too_short: "es demasiado corto ({{count}} caracteres mínimo)"
- wrong_length: "no tiene la longitud correcta ({{count}} caracteres exactos)"
- taken: "ya está en uso"
- not_a_number: "no es un número"
+ equal_to: "debe ser igual a {{count}}"
+ even: "debe ser par"
+ exclusion: "está reservado"
greater_than: "debe ser mayor que {{count}}"
greater_than_or_equal_to: "debe ser mayor que o igual a {{count}}"
- equal_to: "debe ser igual a {{count}}"
+ inclusion: "no está incluido en la lista"
+ invalid: "no es válido"
less_than: "debe ser menor que {{count}}"
less_than_or_equal_to: "debe ser menor que o igual a {{count}}"
+ not_a_number: "no es un número"
odd: "debe ser impar"
- even: "debe ser par"
record_invalid: "La validación falló: {{errors}}"
- # Append your own errors here or at the model/attributes scope.
-
- models:
- # Overrides default messages
-
- attributes:
- # Overrides model and default messages.
-
- date:
- formats:
- # Use the strftime parameters for formats.
- # When no format has been given, it uses default.
- # You can provide other formats here if you like!
+ taken: "ya está en uso"
+ too_long: "es demasiado largo ({{count}} caracteres máximo)"
+ too_short: "es demasiado corto ({{count}} caracteres mínimo)"
+ wrong_length: "no tiene la longitud correcta ({{count}} caracteres exactos)"
+ models: ~
+ template:
+ body: "Se encontraron problemas con los siguientes campos:"
+ header:
+ one: "no se pudo guardar este {{model}} porque se encontró 1 error"
+ other: "no se pudo guardar este {{model}} porque se encontraron {{count}} errores"
+ models:
+ annotation: ""
+ logi: ""
+ logi_version: ""
+ remark: ""
+ user: ""
+ user_session: ""
+ authlogic:
+ error_messages:
+ consecutive_failed_logins_limit_exceeded: ""
+ email_invalid: ""
+ login_blank: ""
+ login_invalid: ""
+ login_not_found: ""
+ no_authentication_details: ""
+ date:
+ abbr_day_names:
+ - Dom
+ - Lun
+ - Mar
+ - Mie
+ - Jue
+ - Vie
+ - Sab
+ abbr_month_names:
+ - ~
+ - Ene
+ - Feb
+ - Mar
+ - Abr
+ - May
+ - Jun
+ - Jul
+ - Ago
+ - Sep
+ - Oct
+ - Nov
+ - Dic
+ day_names:
+ - Domingo
+ - Lunes
+ - Martes
+ - Miércoles
+ - Jueves
+ - Viernes
+ - Sábado
+ formats:
default: "%e/%m/%Y"
- short: "%e de %b"
- long: "%e de %B de %Y"
-
- day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
- abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
-
- # Don't forget the nil at the beginning; there's no such thing as a 0th month
- month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
- abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
- # Used in date_select and datime_select.
- order: [ :day, :month, :year ]
-
- time:
- formats:
+ long: "%e de %B de %Y"
+ short: "%e de %b"
+ month_names:
+ - ~
+ - Enero
+ - Febrero
+ - Marzo
+ - Abril
+ - Mayo
+ - Junio
+ - Julio
+ - Agosto
+ - Septiembre
+ - Octubre
+ - Noviembre
+ - Diciembre
+ order:
+ - !ruby/symbol day
+ - !ruby/symbol month
+ - !ruby/symbol year
+ datetime:
+ distance_in_words:
+ about_x_hours:
+ one: "alrededor de 1 hora"
+ other: "alrededor de {{count}} horas"
+ about_x_months:
+ one: "alrededor de 1 mes"
+ other: "alrededor de {{count}} meses"
+ about_x_years:
+ one: "alrededor de 1 año"
+ other: "alrededor de {{count}} años"
+ almost_x_years:
+ one: "casi 1 año"
+ other: "casi {{count}} años"
+ half_a_minute: "medio minuto"
+ less_than_x_minutes:
+ one: "menos de 1 minuto"
+ other: "menos de {{count}} minutos"
+ less_than_x_seconds:
+ one: "menos de 1 segundo"
+ other: "menos de {{count}} segundos"
+ over_x_years:
+ one: "más de 1 año"
+ other: "más de {{count}} años"
+ x_days:
+ one: "1 día"
+ other: "{{count}} días"
+ x_minutes:
+ one: "1 minuto"
+ other: "{{count}} minutos"
+ x_months:
+ one: "1 mes"
+ other: "{{count}} meses"
+ x_seconds:
+ one: "1 segundo"
+ other: "{{count}} segundos"
+ prompts:
+ day: Día
+ hour: Hora
+ minute: Minutos
+ month: Mes
+ second: Segundos
+ year: Año
+ number:
+ currency:
+ format:
+ delimiter: "."
+ format: "%n %u"
+ precision: 2
+ separator: ","
+ unit: €
+ format:
+ delimiter: "."
+ precision: 3
+ separator: ","
+ human:
+ format:
+ delimiter: ""
+ precision: 1
+ storage_units:
+ format: "%n %u"
+ units:
+ byte:
+ one: Byte
+ other: Bytes
+ gb: GB
+ kb: KB
+ mb: MB
+ tb: TB
+ percentage:
+ format:
+ delimiter: ""
+ precision:
+ format:
+ delimiter: ""
+ support:
+ array:
+ last_word_connector: " y "
+ two_words_connector: " y "
+ words_connector: ", "
+ select:
+ prompt: "Por favor seleccione"
+ time:
+ am: am
+ formats:
default: "%A, %e de %B de %Y %H:%M:%S %z"
- short: "%e de %b %H:%M"
- long: "%e de %B de %Y %H:%M"
- am: "am"
- pm: "pm"
-
-# Used in array.to_sentence.
- support:
- select:
- # default value for :prompt => true in FormOptionsHelper
- prompt: "Por favor seleccione"
- array:
- # Rails <= v.2.2.2
- # sentence_connector: "y"
- # Rails >= v.2.3
- words_connector: ", "
- two_words_connector: " y "
- last_word_connector: " y "
+ long: "%e de %B de %Y %H:%M"
+ short: "%e de %b %H:%M"
+ pm: pm
Modified: trunk/config/locales/nl.yml
===================================================================
--- trunk/config/locales/nl.yml 2010-09-08 18:31:56 UTC (rev 1771)
+++ trunk/config/locales/nl.yml 2010-09-08 20:50:25 UTC (rev 1772)
@@ -1,173 +1,204 @@
-# Dutch translation in YML by Ariejan de Vroom <ar...@ar...>
-# - Sponsored by Kabisa ICT - http://kabisa.nl
-#
-# Fully compatible with Translate (the Rails translation plugin)
-# - http://developer.newsdesk.se/2009/01/21/translate-new-rails-i18n-plugin-with-a-nice-web-ui/
---
nl:
- number:
- format:
- separator: ","
- precision: 2
- delimiter: .
- human:
- storage_units:
- format: "%n %u"
- units:
- kb: KB
- tb: TB
- gb: GB
- byte:
- one: Byte
- other: Bytes
- mb: MB
- currency:
- format:
- format: "%u %n"
- unit: !binary |
- 4oKs
-
- separator: ","
- precision: 2
- delimiter: .
activerecord:
+ attributes:
+ annotation:
+ message: ""
+ logi:
+ body: ""
+ selection: ""
+ title: ""
+ peer_group:
+ name: ""
+ remark:
+ message: ""
+ user:
+ email: ""
+ name: ""
+ password: ""
+ password_confirmation: ""
+ user_session:
+ email: ""
+ name: ""
+ password: ""
+ password_confirmation: ""
errors:
+ full_messages:
+ format: ""
messages:
- greater_than_or_equal_to: moet groter of gelijk zijn aan {{count}}
- less_than_or_equal_to: moet minder of gelijk zijn aan {{count}}
- confirmation: komt niet met de bevestiging overeen
- blank: moet opgegeven zijn
- exclusion: is niet beschikbaar
- invalid: is ongeldig
- record_invalid: is ongeldig
- odd: moet oneven zijn
- too_short: is te kort (niet minder dan {{count}} tekens)
- wrong_length: heeft niet de juiste lengte (moet {{count}} tekens lang zijn)
- empty: moet opgegeven zijn
- even: moet even zijn
- less_than: moet minder zijn dan {{count}}
- equal_to: moet gelijk zijn aan {{count}}
- greater_than: moet groter zijn dan {{count}}
- accepted: moet worden geaccepteerd
- too_long: is te lang (niet meer dan {{count}} tekens)
- taken: is niet beschikbaar
- inclusion: is niet in de lijst opgenomen
- not_a_number: is geen getal
+ accepted: "moet worden geaccepteerd"
+ blank: "moet opgegeven zijn"
+ confirmation: "komt niet met de bevestiging overeen"
+ empty: "moet opgegeven zijn"
+ equal_to: "moet gelijk zijn aan {{count}}"
+ even: "moet even zijn"
+ exclusion: "is niet beschikbaar"
+ greater_than: "moet groter zijn dan {{count}}"
+ greater_than_or_equal_to: "moet groter of gelijk zijn aan {{count}}"
+ inclusion: "is niet in de lijst opgenomen"
+ invalid: "is ongeldig"
+ less_than: "moet minder zijn dan {{count}}"
+ less_than_or_equal_to: "moet minder of gelijk zijn aan {{count}}"
+ not_a_number: "is geen getal"
+ odd: "moet oneven zijn"
+ record_invalid: "is ongeldig"
+ taken: "is niet beschikbaar"
+ too_long: "is te lang (niet meer dan {{count}} tekens)"
+ too_short: "is te kort (niet minder dan {{count}} tekens)"
+ wrong_length: "heeft niet de juiste lengte (moet {{count}} tekens lang zijn)"
template:
body: "Controleer alstublieft de volgende velden:"
header:
one: "Kon dit {{model}} object niet opslaan: 1 fout."
other: "Kon dit {{model}} niet opslaan: {{count}} fouten."
- time:
- am: "'s ochtends"
- formats:
- default: "%a %d %b %Y %H:%M:%S %Z"
- time: "%H:%M"
- short: "%d %b %H:%M"
- only_second: "%S"
- datetime:
- formats:
- default: "%d-%m-%YT%H:%M:%S%Z"
- long: "%d %B %Y %H:%M"
- pm: "'s middags"
+ models:
+ annotation: ""
+ logi: ""
+ logi_version: ""
+ remark: ""
+ user: ""
+ user_session: ""
+ authlogic:
+ error_messages:
+ consecutive_failed_logins_limit_exceeded: ""
+ email_invalid: ""
+ login_blank: ""
+ login_invalid: ""
+ login_not_found: ""
+ no_authentication_details: ""
date:
- month_names:
- -
- - januari
- - februari
- - maart
- - april
- - mei
- - juni
- - juli
- - augustus
- - september
- - oktober
- - november
- - december
abbr_day_names:
- - zon
- - maa
- - din
- - woe
- - don
- - vri
- - zat
- order:
- - :day
- - :month
- - :year
+ - zon
+ - maa
+ - din
+ - woe
+ - don
+ - vri
+ - zat
+ abbr_month_names:
+ - ~
+ - jan
+ - feb
+ - mar
+ - apr
+ - mei
+ - jun
+ - jul
+ - aug
+ - sep
+ - okt
+ - nov
+ - dec
+ day_names:
+ - zondag
+ - maandag
+ - dinsdag
+ - woensdag
+ - donderdag
+ - vrijdag
+ - zaterdag
formats:
+ default: "%d/%m/%Y"
+ long: "%e %B %Y"
only_day: "%e"
- default: "%d/%m/%Y"
short: "%e %b"
- long: "%e %B %Y"
- day_names:
- - zondag
- - maandag
- - dinsdag
- - woensdag
- - donderdag
- - vrijdag
- - zaterdag
- abbr_month_names:
- -
- - jan
- - feb
- - mar
- - apr
- - mei
- - jun
- - jul
- - aug
- - sep
- - okt
- - nov
- - dec
- support:
- array:
- words_connector: ","
- last_word_connector: ", en"
- two_words_connector: en
+ month_names:
+ - ~
+ - januari
+ - februari
+ - maart
+ - april
+ - mei
+ - juni
+ - juli
+ - augustus
+ - september
+ - oktober
+ - november
+ - december
+ order:
+ - !ruby/symbol day
+ - !ruby/symbol month
+ - !ruby/symbol year
datetime:
+ distance_in_words:
+ about_x_hours:
+ one: "ongeveer één uur"
+ other: "ongeveer {{count}} uur"
+ about_x_months:
+ one: "ongeveer één maand"
+ other: "ongeveer {{count}} maanden"
+ about_x_years:
+ one: "ongeveer één jaar"
+ other: "ongeveer {{count}} jaren"
+ half_a_minute: "halve minuut"
+ less_than_x_minutes:
+ one: "minder dan één minuut"
+ other: "minder dan {{count}} minuten"
+ less_than_x_seconds:
+ one: "minder dan één seconde"
+ other: "minder dan {{count}} seconden"
+ over_x_years:
+ one: "langer dan één jaar"
+ other: "langer {{count}} jaar"
+ x_days:
+ one: "1 dag"
+ other: "{{count}} dagen"
+ x_minutes:
+ one: "1 minuut"
+ other: "{{count}} minuten"
+ x_months:
+ one: "1 maand"
+ other: "{{count}} maanden"
+ x_seconds:
+ one: "1 seconde"
+ other: "{{count}} seconden"
format:
default: "%Y-%m-%dT%H:%M:%S%Z"
prompts:
+ day: dag
+ hour: uur
minute: minuut
+ month: maand
second: seconden
- month: maand
- hour: uur
- day: dag
year: jaar
- distance_in_words:
- less_than_x_minutes:
- one: "minder dan \xC3\xA9\xC3\xA9n minuut"
- other: minder dan {{count}} minuten
- x_days:
- one: 1 dag
- other: "{{count}} dagen"
- x_seconds:
- one: 1 seconde
- other: "{{count}} seconden"
- about_x_hours:
- one: "ongeveer \xC3\xA9\xC3\xA9n uur"
- other: ongeveer {{count}} uur
- less_than_x_seconds:
- one: "minder dan \xC3\xA9\xC3\xA9n seconde"
- other: minder dan {{count}} seconden
- x_months:
- one: 1 maand
- other: "{{count}} maanden"
- x_minutes:
- one: 1 minuut
- other: "{{count}} minuten"
- about_x_years:
- one: "ongeveer \xC3\xA9\xC3\xA9n jaar"
- other: ongeveer {{count}} jaren
- about_x_months:
- one: "ongeveer \xC3\xA9\xC3\xA9n maand"
- other: ongeveer {{count}} maanden
- over_x_years:
- one: "langer dan \xC3\xA9\xC3\xA9n jaar"
- other: langer {{count}} jaar
- half_a_minute: halve minuut
+ number:
+ currency:
+ format:
+ delimiter: "."
+ format: "%u %n"
+ precision: 2
+ separator: ","
+ unit: €
+ format:
+ delimiter: "."
+ precision: 2
+ separator: ","
+ human:
+ storage_units:
+ format: "%n %u"
+ units:
+ byte:
+ one: Byte
+ other: Bytes
+ gb: GB
+ kb: KB
+ mb: MB
+ tb: TB
+ support:
+ array:
+ last_word_connector: ", en"
+ two_words_connector: en
+ words_connector: ","
+ time:
+ am: "'s ochtends"
+ formats:
+ datetime:
+ formats:
+ default: "%d-%m-%YT%H:%M:%S%Z"
+ default: "%a %d %b %Y %H:%M:%S %Z"
+ long: "%d %B %Y %H:%M"
+ only_second: "%S"
+ short: "%d %b %H:%M"
+ time: "%H:%M"
+ pm: "'s middags"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-09-08 18:32:06
|
Revision: 1771
http://logilogi.svn.sourceforge.net/logilogi/?rev=1771&view=rev
Author: wybow
Date: 2010-09-08 18:31:56 +0000 (Wed, 08 Sep 2010)
Log Message:
-----------
Updated copyright notices for 2010
Modified Paths:
--------------
trunk/app/controllers/annotations_controller.rb
trunk/app/controllers/application_controller.rb
trunk/app/controllers/cache_controller.rb
trunk/app/controllers/changes_controller.rb
trunk/app/controllers/comments_controller.rb
trunk/app/controllers/external_links_controller.rb
trunk/app/controllers/invitations_controller.rb
trunk/app/controllers/linked_logis_controller.rb
trunk/app/controllers/links_controller.rb
trunk/app/controllers/logi_extras_controller.rb
trunk/app/controllers/logi_inserts_controller.rb
trunk/app/controllers/logi_versions_controller.rb
trunk/app/controllers/logis_controller.rb
trunk/app/controllers/password_resets_controller.rb
trunk/app/controllers/paths_controller.rb
trunk/app/controllers/peer_group_admin_memberships_controller.rb
trunk/app/controllers/peer_group_memberships_controller.rb
trunk/app/controllers/peer_groups_controller.rb
trunk/app/controllers/perma_links_controller.rb
trunk/app/controllers/prefs_profiles_controller.rb
trunk/app/controllers/rankings_controller.rb
trunk/app/controllers/ratings_controller.rb
trunk/app/controllers/remarks_controller.rb
trunk/app/controllers/remote_users_controller.rb
trunk/app/controllers/searches_controller.rb
trunk/app/controllers/steps_controller.rb
trunk/app/controllers/used_tags_controller.rb
trunk/app/controllers/user_groups_controller.rb
trunk/app/controllers/user_sessions_controller.rb
trunk/app/controllers/users_controller.rb
trunk/app/controllers/votes_controller.rb
trunk/app/helpers/application_helper.rb
trunk/app/models/annotation.rb
trunk/app/models/commenting.rb
trunk/app/models/context.rb
trunk/app/models/external_link.rb
trunk/app/models/global_config.rb
trunk/app/models/invitation.rb
trunk/app/models/link.rb
trunk/app/models/link_match.rb
trunk/app/models/log_log_message.rb
trunk/app/models/log_log_subscription.rb
trunk/app/models/logi.rb
trunk/app/models/logi_version.rb
trunk/app/models/notifier.rb
trunk/app/models/path.rb
trunk/app/models/peer_group.rb
trunk/app/models/peer_group_membership.rb
trunk/app/models/prefs_profile.rb
trunk/app/models/rating.rb
trunk/app/models/remark.rb
trunk/app/models/step.rb
trunk/app/models/tag.rb
trunk/app/models/used_tag.rb
trunk/app/models/user.rb
trunk/app/models/user_group.rb
trunk/app/models/user_group_membership.rb
trunk/app/models/user_session.rb
trunk/app/models/vote.rb
trunk/app/views/layouts/_de_footer.html.erb
trunk/app/views/layouts/_footer.html.erb
trunk/config/config.rb.tmpl
trunk/config/environment.rb
trunk/config/initializers/array.rb
trunk/config/initializers/association_collection.rb
trunk/config/initializers/cgi.rb
trunk/config/initializers/fixtures.rb
trunk/config/initializers/hash.rb
trunk/config/initializers/nil_class.rb
trunk/config/initializers/object.rb
trunk/config/initializers/string.rb
trunk/config/initializers/uri.rb
trunk/config/routes.rb
trunk/db/migrate/001_initial_schema.rb
trunk/db/migrate/003_add_unique_indices.rb
trunk/lib/browser_language_code.rb
trunk/lib/error/existence_error.rb
trunk/lib/error/hash_error.rb
trunk/lib/error/language_error.rb
trunk/lib/error/link_cluster_error.rb
trunk/lib/error/link_error.rb
trunk/lib/error/parsing_error.rb
trunk/lib/location/geo_location.rb
trunk/lib/logi_logi_xapian.rb
trunk/lib/modules/cache_methods_module.rb
trunk/lib/modules/constant_named_scopes_module.rb
trunk/lib/modules/home_page_module.rb
trunk/lib/modules/insert_position_range_list_extension_module.rb
trunk/lib/modules/order_by_module.rb
trunk/lib/modules/tags_strings_module.rb
trunk/lib/modules/unix_name_module.rb
trunk/lib/task_helper.rb
trunk/public/javascripts/magick_corners.js
trunk/test/functional/annotations_controller_test.rb
trunk/test/functional/application_controller_test.rb
trunk/test/functional/cache_controller_test.rb
trunk/test/functional/changes_controller_test.rb
trunk/test/functional/comments_controller_test.rb
trunk/test/functional/external_links_controller_test.rb
trunk/test/functional/invitations_controller_test.rb
trunk/test/functional/linked_logi_controller_test.rb
trunk/test/functional/links_controller_test.rb
trunk/test/functional/logi_inserts_controller_test.rb
trunk/test/functional/logi_versions_controller_test.rb
trunk/test/functional/logis_controller_test.rb
trunk/test/functional/password_resets_controller_test.rb
trunk/test/functional/peer_group_admin_memberships_controller_test.rb
trunk/test/functional/peer_groups_controller_test.rb
trunk/test/functional/perma_links_controller_test.rb
trunk/test/functional/prefs_profiles_controller_test.rb
trunk/test/functional/ratings_controller_test.rb
trunk/test/functional/remarks_controller_test.rb
trunk/test/functional/user_groups_controller_test.rb
trunk/test/functional/user_sessions_controller_test.rb
trunk/test/functional/users_controller_test.rb
trunk/test/functional/votes_controller_test.rb
trunk/test/test_helper.rb
trunk/test/unit/annotation_test.rb
trunk/test/unit/commenting_test.rb
trunk/test/unit/context_test.rb
trunk/test/unit/extensions/array_test.rb
trunk/test/unit/extensions/cgi_test.rb
trunk/test/unit/extensions/hash_test.rb
trunk/test/unit/extensions/nil_class_test.rb
trunk/test/unit/extensions/string_test.rb
trunk/test/unit/external_link_test.rb
trunk/test/unit/global_config_test.rb
trunk/test/unit/invitation_test.rb
trunk/test/unit/link_match_test.rb
trunk/test/unit/link_test.rb
trunk/test/unit/logi_test.rb
trunk/test/unit/logi_version_test.rb
trunk/test/unit/notifier_test.rb
trunk/test/unit/path_test.rb
trunk/test/unit/peer_group_membership_test.rb
trunk/test/unit/peer_group_test.rb
trunk/test/unit/prefs_profile_test.rb
trunk/test/unit/rating_test.rb
trunk/test/unit/remark_test.rb
trunk/test/unit/step_test.rb
trunk/test/unit/tag_test.rb
trunk/test/unit/used_tag_test.rb
trunk/test/unit/user_group_membership_test.rb
trunk/test/unit/user_group_test.rb
trunk/test/unit/user_test.rb
trunk/test/unit/vote_test.rb
trunk/vendor/plugins/body_builder/README
trunk/vendor/plugins/body_builder/lib/body_builder.rb
trunk/vendor/plugins/magick_corners/README
trunk/vendor/plugins/magick_corners/generators/magick_corners/magick_corners_generator.rb
trunk/vendor/plugins/magick_corners/generators/magick_corners/templates/javascripts/magick_corners.js
trunk/vendor/plugins/magick_corners/lib/app/controllers/magick_corners_controller.rb
trunk/vendor/plugins/magick_corners/lib/magick_corners/config.rb
trunk/vendor/plugins/magick_corners/lib/magick_corners/routes.rb
trunk/vendor/plugins/magick_corners/lib/magick_corners.rb
trunk/vendor/plugins/magick_corners/test/functional/magick_corners_controller_test.rb
trunk/vendor/plugins/thorny_form/README
trunk/vendor/plugins/thorny_form/lib/thorny_form.rb
trunk/vendor/plugins/thorny_form/lib/thorny_form_helper.rb
trunk/vendor/plugins/thorny_form/lib/thorny_form_test_helper.rb
Modified: trunk/app/controllers/annotations_controller.rb
===================================================================
--- trunk/app/controllers/annotations_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/annotations_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/application_controller.rb
===================================================================
--- trunk/app/controllers/application_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/application_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/cache_controller.rb
===================================================================
--- trunk/app/controllers/cache_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/cache_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/changes_controller.rb
===================================================================
--- trunk/app/controllers/changes_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/changes_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/comments_controller.rb
===================================================================
--- trunk/app/controllers/comments_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/comments_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/external_links_controller.rb
===================================================================
--- trunk/app/controllers/external_links_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/external_links_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/invitations_controller.rb
===================================================================
--- trunk/app/controllers/invitations_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/invitations_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/linked_logis_controller.rb
===================================================================
--- trunk/app/controllers/linked_logis_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/linked_logis_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/links_controller.rb
===================================================================
--- trunk/app/controllers/links_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/links_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/logi_extras_controller.rb
===================================================================
--- trunk/app/controllers/logi_extras_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/logi_extras_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/logi_inserts_controller.rb
===================================================================
--- trunk/app/controllers/logi_inserts_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/logi_inserts_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/logi_versions_controller.rb
===================================================================
--- trunk/app/controllers/logi_versions_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/logi_versions_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/logis_controller.rb
===================================================================
--- trunk/app/controllers/logis_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/logis_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/password_resets_controller.rb
===================================================================
--- trunk/app/controllers/password_resets_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/password_resets_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/paths_controller.rb
===================================================================
--- trunk/app/controllers/paths_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/paths_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/peer_group_admin_memberships_controller.rb
===================================================================
--- trunk/app/controllers/peer_group_admin_memberships_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/peer_group_admin_memberships_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/peer_group_memberships_controller.rb
===================================================================
--- trunk/app/controllers/peer_group_memberships_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/peer_group_memberships_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/peer_groups_controller.rb
===================================================================
--- trunk/app/controllers/peer_groups_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/peer_groups_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/perma_links_controller.rb
===================================================================
--- trunk/app/controllers/perma_links_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/perma_links_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/prefs_profiles_controller.rb
===================================================================
--- trunk/app/controllers/prefs_profiles_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/prefs_profiles_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/rankings_controller.rb
===================================================================
--- trunk/app/controllers/rankings_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/rankings_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/ratings_controller.rb
===================================================================
--- trunk/app/controllers/ratings_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/ratings_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/remarks_controller.rb
===================================================================
--- trunk/app/controllers/remarks_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/remarks_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/remote_users_controller.rb
===================================================================
--- trunk/app/controllers/remote_users_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/remote_users_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/searches_controller.rb
===================================================================
--- trunk/app/controllers/searches_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/searches_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/steps_controller.rb
===================================================================
--- trunk/app/controllers/steps_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/steps_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/used_tags_controller.rb
===================================================================
--- trunk/app/controllers/used_tags_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/used_tags_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/user_groups_controller.rb
===================================================================
--- trunk/app/controllers/user_groups_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/user_groups_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/user_sessions_controller.rb
===================================================================
--- trunk/app/controllers/user_sessions_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/user_sessions_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/users_controller.rb
===================================================================
--- trunk/app/controllers/users_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/users_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/controllers/votes_controller.rb
===================================================================
--- trunk/app/controllers/votes_controller.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/controllers/votes_controller.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/helpers/application_helper.rb
===================================================================
--- trunk/app/helpers/application_helper.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/helpers/application_helper.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/annotation.rb
===================================================================
--- trunk/app/models/annotation.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/annotation.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/commenting.rb
===================================================================
--- trunk/app/models/commenting.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/commenting.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/context.rb
===================================================================
--- trunk/app/models/context.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/context.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/external_link.rb
===================================================================
--- trunk/app/models/external_link.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/external_link.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/global_config.rb
===================================================================
--- trunk/app/models/global_config.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/global_config.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/invitation.rb
===================================================================
--- trunk/app/models/invitation.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/invitation.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/link.rb
===================================================================
--- trunk/app/models/link.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/link.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/link_match.rb
===================================================================
--- trunk/app/models/link_match.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/link_match.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/log_log_message.rb
===================================================================
--- trunk/app/models/log_log_message.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/log_log_message.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/log_log_subscription.rb
===================================================================
--- trunk/app/models/log_log_subscription.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/log_log_subscription.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/logi.rb
===================================================================
--- trunk/app/models/logi.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/logi.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/logi_version.rb
===================================================================
--- trunk/app/models/logi_version.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/logi_version.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/notifier.rb
===================================================================
--- trunk/app/models/notifier.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/notifier.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/path.rb
===================================================================
--- trunk/app/models/path.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/path.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/peer_group.rb
===================================================================
--- trunk/app/models/peer_group.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/peer_group.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/peer_group_membership.rb
===================================================================
--- trunk/app/models/peer_group_membership.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/peer_group_membership.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/prefs_profile.rb
===================================================================
--- trunk/app/models/prefs_profile.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/prefs_profile.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/rating.rb
===================================================================
--- trunk/app/models/rating.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/rating.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/remark.rb
===================================================================
--- trunk/app/models/remark.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/remark.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/step.rb
===================================================================
--- trunk/app/models/step.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/step.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/tag.rb
===================================================================
--- trunk/app/models/tag.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/tag.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/used_tag.rb
===================================================================
--- trunk/app/models/used_tag.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/used_tag.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/user.rb
===================================================================
--- trunk/app/models/user.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/user.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/user_group.rb
===================================================================
--- trunk/app/models/user_group.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/user_group.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/user_group_membership.rb
===================================================================
--- trunk/app/models/user_group_membership.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/user_group_membership.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/user_session.rb
===================================================================
--- trunk/app/models/user_session.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/user_session.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/models/vote.rb
===================================================================
--- trunk/app/models/vote.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/models/vote.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/app/views/layouts/_de_footer.html.erb
===================================================================
--- trunk/app/views/layouts/_de_footer.html.erb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/views/layouts/_de_footer.html.erb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -16,7 +16,7 @@
</div>
<div class="copyright">
<div class="panel_content_padding">
- © 2007-2009 <a href="http://foundation.logilogi.org"><%= t 'v.layouts.logi_logi_foundation' %></a>.
+ © 2006-2010 <a href="http://foundation.logilogi.org"><%= t 'v.layouts.logi_logi_foundation' %></a>.
<%= t('v.layouts.free_software_licensed',
:free_open => '<a href="http://en.logilogi.org/Development/Logi_Logi=Wybo_Wiersma_32">',
:affero_open => '<a href="http://www.fsf.org/licensing/licenses/agpl-3.0.html">',
Modified: trunk/app/views/layouts/_footer.html.erb
===================================================================
--- trunk/app/views/layouts/_footer.html.erb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/app/views/layouts/_footer.html.erb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -23,7 +23,7 @@
<% end %>
<div class="copyright">
<div class="panel_content_padding">
- © 2007-2009 <a href="http://foundation.logilogi.org"><%= t 'v.layouts.logi_logi_foundation' %></a>.
+ © 2006-2010 <a href="http://foundation.logilogi.org"><%= t 'v.layouts.logi_logi_foundation' %></a>.
<%= t('v.layouts.free_software_licensed',
:free_open => '<a href="http://en.logilogi.org/Development/Logi_Logi=Wybo_Wiersma_32">',
:affero_open => '<a href="http://www.fsf.org/licensing/licenses/agpl-3.0.html">',
Modified: trunk/config/config.rb.tmpl
===================================================================
--- trunk/config/config.rb.tmpl 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/config.rb.tmpl 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,3 +1,16 @@
+#--#
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
+#
+# License:
+# This file is part of the LogiLogi program. LogiLogi is Free Software.
+# You can run/distribute/modify LogiLogi under the terms of the GNU Affero
+# General Public License version 3. The Affero GPL states that running a
+# modified version or a derivative work also requires you to make the source
+# code of that work available to everyone that can interact with it. We
+# chose the Affero GPL to ensure that LogiLogi remains open and libre
+# (doc/LICENSE contains the full text of the legally binding license).
+#++#
+
module InitialGlobalConfig
# If there is a subdomain, and it is different from the
# language_code, you can set it here.
Modified: trunk/config/environment.rb
===================================================================
--- trunk/config/environment.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/environment.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,3 +1,16 @@
+#--#
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
+#
+# License:
+# This file is part of the LogiLogi program. LogiLogi is Free Software.
+# You can run/distribute/modify LogiLogi under the terms of the GNU Affero
+# General Public License version 3. The Affero GPL states that running a
+# modified version or a derivative work also requires you to make the source
+# code of that work available to everyone that can interact with it. We
+# chose the Affero GPL to ensure that LogiLogi remains open and libre
+# (doc/LICENSE contains the full text of the legally binding license).
+#++#
+
# Be sure to restart your web server when you modify this file.
# Uncomment below to force Rails into production mode when
Modified: trunk/config/initializers/array.rb
===================================================================
--- trunk/config/initializers/array.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/initializers/array.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/config/initializers/association_collection.rb
===================================================================
--- trunk/config/initializers/association_collection.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/initializers/association_collection.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/config/initializers/cgi.rb
===================================================================
--- trunk/config/initializers/cgi.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/initializers/cgi.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/config/initializers/fixtures.rb
===================================================================
--- trunk/config/initializers/fixtures.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/initializers/fixtures.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/config/initializers/hash.rb
===================================================================
--- trunk/config/initializers/hash.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/initializers/hash.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/config/initializers/nil_class.rb
===================================================================
--- trunk/config/initializers/nil_class.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/initializers/nil_class.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/config/initializers/object.rb
===================================================================
--- trunk/config/initializers/object.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/initializers/object.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/config/initializers/string.rb
===================================================================
--- trunk/config/initializers/string.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/initializers/string.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/config/initializers/uri.rb
===================================================================
--- trunk/config/initializers/uri.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/initializers/uri.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/config/routes.rb
===================================================================
--- trunk/config/routes.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/config/routes.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,3 +1,16 @@
+#--#
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
+#
+# License:
+# This file is part of the LogiLogi program. LogiLogi is Free Software.
+# You can run/distribute/modify LogiLogi under the terms of the GNU Affero
+# General Public License version 3. The Affero GPL states that running a
+# modified version or a derivative work also requires you to make the source
+# code of that work available to everyone that can interact with it. We
+# chose the Affero GPL to ensure that LogiLogi remains open and libre
+# (doc/LICENSE contains the full text of the legally binding license).
+#++#
+
ActionController::Routing::Routes.draw do |map|
# The priority is based upon order of creation: first created -> highest priority.
Modified: trunk/db/migrate/001_initial_schema.rb
===================================================================
--- trunk/db/migrate/001_initial_schema.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/db/migrate/001_initial_schema.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/db/migrate/003_add_unique_indices.rb
===================================================================
--- trunk/db/migrate/003_add_unique_indices.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/db/migrate/003_add_unique_indices.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,16 +1,3 @@
-#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
-#
-# License:
-# This file is part of the LogiLogi program. LogiLogi is Free Software.
-# You can run/distribute/modify LogiLogi under the terms of the GNU Affero
-# General Public License version 3. The Affero GPL states that running a
-# modified version or a derivative work also requires you to make the source
-# code of that work available to everyone that can interact with it. We
-# chose the Affero GPL to ensure that LogiLogi remains open and libre
-# (doc/LICENSE contains the full text of the legally binding license).
-#++#
-
class AddUniqueIndices < ActiveRecord::Migration
# Needed because of concurrent sessions which
# validates_uniqueness_of cannot handle.
Modified: trunk/lib/browser_language_code.rb
===================================================================
--- trunk/lib/browser_language_code.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/browser_language_code.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/error/existence_error.rb
===================================================================
--- trunk/lib/error/existence_error.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/error/existence_error.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/error/hash_error.rb
===================================================================
--- trunk/lib/error/hash_error.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/error/hash_error.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/error/language_error.rb
===================================================================
--- trunk/lib/error/language_error.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/error/language_error.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/error/link_cluster_error.rb
===================================================================
--- trunk/lib/error/link_cluster_error.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/error/link_cluster_error.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/error/link_error.rb
===================================================================
--- trunk/lib/error/link_error.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/error/link_error.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/error/parsing_error.rb
===================================================================
--- trunk/lib/error/parsing_error.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/error/parsing_error.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/location/geo_location.rb
===================================================================
--- trunk/lib/location/geo_location.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/location/geo_location.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/logi_logi_xapian.rb
===================================================================
--- trunk/lib/logi_logi_xapian.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/logi_logi_xapian.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/modules/cache_methods_module.rb
===================================================================
--- trunk/lib/modules/cache_methods_module.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/modules/cache_methods_module.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/modules/constant_named_scopes_module.rb
===================================================================
--- trunk/lib/modules/constant_named_scopes_module.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/modules/constant_named_scopes_module.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/modules/home_page_module.rb
===================================================================
--- trunk/lib/modules/home_page_module.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/modules/home_page_module.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/modules/insert_position_range_list_extension_module.rb
===================================================================
--- trunk/lib/modules/insert_position_range_list_extension_module.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/modules/insert_position_range_list_extension_module.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/modules/order_by_module.rb
===================================================================
--- trunk/lib/modules/order_by_module.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/modules/order_by_module.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/modules/tags_strings_module.rb
===================================================================
--- trunk/lib/modules/tags_strings_module.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/modules/tags_strings_module.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/modules/unix_name_module.rb
===================================================================
--- trunk/lib/modules/unix_name_module.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/modules/unix_name_module.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/lib/task_helper.rb
===================================================================
--- trunk/lib/task_helper.rb 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/lib/task_helper.rb 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+# Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
#
# License:
# This file is part of the LogiLogi program. LogiLogi is Free Software.
Modified: trunk/public/javascripts/magick_corners.js
===================================================================
--- trunk/public/javascripts/magick_corners.js 2010-09-08 18:01:47 UTC (rev 1770)
+++ trunk/public/javascripts/magick_corners.js 2010-09-08 18:31:56 UTC (rev 1771)
@@ -1,5 +1,5 @@
/**
- * Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+ * Copyright: (c) 2006-2010 The LogiLogi Foundation <fou...@lo...>
*
* License:
* This file is part of the Magick Corners Rails Plugin. Magick
Modified: trunk/test/functional/annotations_controller_test.rb
==================...
[truncated message content] |
|
From: <wy...@us...> - 2010-09-08 18:01:53
|
Revision: 1770
http://logilogi.svn.sourceforge.net/logilogi/?rev=1770&view=rev
Author: wybow
Date: 2010-09-08 18:01:47 +0000 (Wed, 08 Sep 2010)
Log Message:
-----------
Added maintenance for badges
Modified Paths:
--------------
trunk/lib/tasks/pub.rake
trunk/lib/tasks/server.rake
Modified: trunk/lib/tasks/pub.rake
===================================================================
--- trunk/lib/tasks/pub.rake 2010-09-08 16:42:33 UTC (rev 1769)
+++ trunk/lib/tasks/pub.rake 2010-09-08 18:01:47 UTC (rev 1770)
@@ -5,4 +5,11 @@
sh "rm -rf public/pub/cache/*"
end
end
+
+ namespace :users do
+ desc "Clears the badges cache"
+ task :clear do
+ sh "rm -rf public/do/users/*"
+ end
+ end
end
Modified: trunk/lib/tasks/server.rake
===================================================================
--- trunk/lib/tasks/server.rake 2010-09-08 16:42:33 UTC (rev 1769)
+++ trunk/lib/tasks/server.rake 2010-09-08 18:01:47 UTC (rev 1770)
@@ -99,6 +99,7 @@
" and log rotation"
task :www do
Rake::Task["pub:cache:clear"].invoke
+ Rake::Task["pub:users:clear"].invoke
Rake::Task["log:rotate"].invoke
end
end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-09-08 16:42:42
|
Revision: 1769
http://logilogi.svn.sourceforge.net/logilogi/?rev=1769&view=rev
Author: wybow
Date: 2010-09-08 16:42:33 +0000 (Wed, 08 Sep 2010)
Log Message:
-----------
Added badges, fixed bug in tags
Modified Paths:
--------------
trunk/app/controllers/application_controller.rb
trunk/app/controllers/users_controller.rb
trunk/app/helpers/application_helper.rb
trunk/app/models/const/rating.rb
trunk/app/models/peer_group_membership.rb
trunk/app/views/layouts/_header.html.erb
trunk/app/views/logis/_screencast.html.erb
trunk/app/views/rankings/_list.html.erb
trunk/app/views/tags/_edit.html.erb
trunk/app/views/users/_activity.html.erb
trunk/app/views/users/_side_panel.html.erb
trunk/app/views/users/edit.html.erb
trunk/config/environment.rb
trunk/config/locales/en.yml
trunk/config/routes.rb
trunk/public/javascripts/taglist.js
trunk/public/stylesheets/logilogi.css
Added Paths:
-----------
trunk/lib/laurel_builder.rb
trunk/lib/tasks/statistics.rake
trunk/public/images/badge1.png
trunk/public/images/badge1.svg
trunk/public/images/badge2.png
trunk/public/images/badge2.svg
trunk/public/images/badge3.png
trunk/public/images/badge3.svg
trunk/public/images/badge4.png
trunk/public/images/badge4.svg
trunk/public/images/medal1.png
trunk/public/images/medal1.svg
trunk/public/images/medal2.png
trunk/public/images/medal2.svg
trunk/public/images/medal3.png
trunk/public/images/medal3.svg
trunk/public/images/medal4.png
trunk/public/images/medal4.svg
trunk/public/images/sources/
trunk/public/images/sources/laurel1.png
trunk/public/images/sources/laurel2.png
trunk/public/images/sources/laurel3.png
trunk/public/images/sources/laurel4.png
Removed Paths:
-------------
trunk/public/images/laurel1.png
trunk/public/images/laurel1.svg
trunk/public/images/laurel2.png
trunk/public/images/laurel2.svg
trunk/public/images/laurel3.png
trunk/public/images/laurel3.svg
trunk/public/images/star.png
trunk/public/images/star.svg
trunk/public/images/svgs/
Modified: trunk/app/controllers/application_controller.rb
===================================================================
--- trunk/app/controllers/application_controller.rb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/controllers/application_controller.rb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -287,8 +287,12 @@
browse_logis_url(tag.to_s)
end
+ alias :original_edit_user_url :edit_user_url
+ def edit_user_url(user, options = {})
+ original_edit_user_url({:id => user.home_page_tag_string}, options)
+ end
+
alias :original_user_url :user_url
-
def user_url(user, options = {})
original_user_url({:id => user.home_page_tag_string}, options)
end
Modified: trunk/app/controllers/users_controller.rb
===================================================================
--- trunk/app/controllers/users_controller.rb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/controllers/users_controller.rb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -18,9 +18,11 @@
### Filters
- before_filter :find, :find_users_logi,
+ before_filter :find,
+ : [:badge, :medal, :show, :edit, :update, :destroy]
+ before_filter :find_users_logi,
: [:show]
- before_filter :find, :require_login, :require_current,
+ before_filter :require_login, :require_current,
: [:edit, :update, :destroy]
before_filter :require_no_login,
: :create
@@ -125,7 +127,8 @@
@subscriptions.each_pair do |name, subscription|
if params[:log_log_subscription][name]
if !subscription
- channel = (name == :personalized_log ? "for_" + @user.unix_name : "logis")
+ channel = (name == :personalized_log ? "for_" + @user.unix_name :
+ "logis")
ll_s = LogLogSubscription.new(:user => @user, :channel => channel,
:period => (name == :personalized_log ? "daily" : "weekly"))
ll_s.save
@@ -176,6 +179,27 @@
:limit => 10, :order => ["created_at DESC"])
end
+ def badge
+ peer_group = current_prefs.peer_group
+ membership = peer_group.membership_for(@user)
+ percentile = membership.capped_percentile
+ respond_to do |format|
+ format.png do
+ build_save_and_send_badge(@user.name, @user.home_page_tag_string,
+ GlobalConfig.domain, peer_group.home_page_tag_string,
+ percentile)
+ end
+ end
+ end
+
+ def medal
+ respond_to do |format|
+ format.png do
+ build_save_and_send_medal(params[:percentile].to_i)
+ end
+ end
+ end
+
### Filter-methods
protected
@@ -207,9 +231,46 @@
def read_log_log_subscriptions
@subscriptions = {}
[:personalized_log, :logis_log].each do |name|
- channel = (name == :personalized_log ? "for_" + @user.unix_name : "logis")
+ channel = (name == :personalized_log ? "for_" + @user.unix_name :
+ "logis")
@subscriptions[name] = LogLogSubscription.find_by_user_id_and_channel(
@user, channel)
end
end
+
+ ### Helper methods
+
+ def build_save_and_send_badge(user_name, normalized_name, pg_name, pg_normalized_name,
+ percentile)
+ img = LaurelBuilder.build_badge(user_name, pg_name, percentile,
+ "at", self.helpers)
+ dir = "#{RAILS_ROOT}/public/do/users/#{normalized_name}/badge"
+ file = "#{dir}/#{pg_normalized_name}.png"
+ self.save_and_send_image(img, dir, file)
+ end
+
+ def build_save_and_send_medal(percentile)
+ img = LaurelBuilder.build_medal(percentile, self.helpers)
+ dir = "#{RAILS_ROOT}/public/do/medals"
+ file = "#{dir}/#{percentile.to_s}.png"
+ self.save_and_send_image(img, dir, file)
+ end
+
+ def save_and_send_image(img, dir, file)
+ system "mkdir -p '#{dir}'"
+ img.write(file) # Next time the saved image will be used.
+ img.destroy!
+ send_file file, :disposition => 'inline',
+ :type => 'image/png'
+ end
+
+ def helpers
+ Helper.instance
+ end
+
+ class Helper
+ include Singleton
+ include ApplicationHelper
+ include ActionView::Helpers::TextHelper
+ end
end
Modified: trunk/app/helpers/application_helper.rb
===================================================================
--- trunk/app/helpers/application_helper.rb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/helpers/application_helper.rb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -395,6 +395,26 @@
end
end
+ def percentile_in_words(percentile)
+ category = percentile_category(percentile)
+ if category < 2
+ # I18n because called from lib
+ return I18n.t('m.const.just_began')
+ else
+ return I18n.t(Const::Rating::SCORES[category])
+ end
+ end
+
+ def percentile_category(percentile)
+ if percentile < 50
+ return 1
+ elsif percentile < 95
+ return ((percentile - 20) / 15.0).floor
+ else
+ return 5
+ end
+ end
+
# cloud
def tag_cloud(objects, classes, &proc)
@@ -474,18 +494,11 @@
# Score images
- def score_image(position_nr)
- if position_nr < 4
- return '<div class="score_image score_image_laurel' + position_nr.to_s + '">' +
- image_tag('laurel' + position_nr.to_s + '.png', :class => 'score', :size => '90x90') +
- '</div>'
- else
- image = 'star'
- # Below is a hack for the DXImageTransform IE CSS hack
- return '<div class="score_image score_image_' + image + '">' +
- image_tag(image + '.png', :class => 'score', :size => '90x90') +
- '</div>'
- end
+ def medal(percentile)
+ return '<div class="score_image score_image_laurel1">' +
+ image_tag(medal_url(:percentile => percentile.to_i,
+ :format => 'png'), :size => '90x90') +
+ '</div>'
end
# Time ago
@@ -812,6 +825,10 @@
html_options.merge(:class => ' user_link')
end
+ def edit_user_url(user, options = {})
+ @controller.edit_user_url(user, options)
+ end
+
def user_url(user, options = {})
@controller.user_url(user, options)
end
Modified: trunk/app/models/const/rating.rb
===================================================================
--- trunk/app/models/const/rating.rb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/models/const/rating.rb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -7,10 +7,10 @@
-1 => 'm.const.off_topic',
0 => 'm.const.neutral',
1 => 'm.const.fair',
- 2 => 'm.const.ok',
- 3 => 'm.const.good',
+ 2 => 'm.const.good',
+ 3 => 'm.const.very_good',
4 => 'm.const.excellent',
- 5 => 'm.const.exceptional'
+ 5 => 'm.const.unsurpassed'
}
end
end
Modified: trunk/app/models/peer_group_membership.rb
===================================================================
--- trunk/app/models/peer_group_membership.rb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/models/peer_group_membership.rb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -112,6 +112,20 @@
end
end
+ # Getting
+
+ # Caps the percentile, so < 10 and > 99 do not occur.
+ #
+ def capped_percentile
+ if self.percentile < 20
+ return 20
+ elsif self.percentile > 99
+ return 99
+ else
+ return self.percentile
+ end
+ end
+
### Filter-functions
protected
Modified: trunk/app/views/layouts/_header.html.erb
===================================================================
--- trunk/app/views/layouts/_header.html.erb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/views/layouts/_header.html.erb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -45,7 +45,7 @@
</div>
<div id="title_line">
<% if local_assigns[:user_page] %>
- <%= by_author(@user) %>
+ <%= by_author(@user, :no_you => true) %>
<% else %>
<%= t 'v.layouts.title_line' %>
<% end %>
Modified: trunk/app/views/logis/_screencast.html.erb
===================================================================
--- trunk/app/views/logis/_screencast.html.erb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/views/logis/_screencast.html.erb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -1,6 +1,6 @@
<% render :layout => 'application/panel',
:locals => {:id => "screencast"} do %>
- <object width="460" height="283"><param name="movie" value="http://www.youtube.com/v/19HuVgvFPOE&hl=en&fs=1"></param><param name="allowFullScreen"
-value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/19HuVgvFPOE&hl=en&fs=1"
+ <object width="460" height="283"><param name="movie" value="http://www.youtube.com/v/n2-3xu1Vuzk&hl=en&fs=1"></param><param name="allowFullScreen"
+value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/n2-3xu1Vuzk&hl=en&fs=1"
type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="460" height="283"></embed></object>
<% end %>
Modified: trunk/app/views/rankings/_list.html.erb
===================================================================
--- trunk/app/views/rankings/_list.html.erb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/views/rankings/_list.html.erb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -1,31 +1,13 @@
<% @memberships.each do |membership| %>
<div class="user inner_panel">
<div class="panel_content_padding">
- <%
- if membership.percentile >= 99
- nr = 1
- elsif membership.percentile > 90
- nr = 2
- elsif membership.percentile > 70
- nr = 3
- else
- nr = 4
- end
- %>
- <%= score_image(nr) %>
- <div class="score">
- <% if membership.percentile >= 99 %>
- <%= number_to_percentage(99,
- :precision => 0) %>
- <% else %>
- <%= number_to_percentage(membership.percentile,
- :precision => 0) %>
- <% end %>
- </div>
+ <%= medal(membership.capped_percentile) %>
<div class="user_avatar">
<%= link_to gravatar_for(membership.user, :size => 80), user_url(membership.user) %>
</div>
<%= user_link(membership.user, :no_you => true, :length => 15) %>
+ <br />
+ <p><%= percentile_in_words(membership.capped_percentile) %></p>
</div>
</div>
<% end %>
Modified: trunk/app/views/tags/_edit.html.erb
===================================================================
--- trunk/app/views/tags/_edit.html.erb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/views/tags/_edit.html.erb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -1,7 +1,7 @@
<% render :layout => 'application/panel', :locals => {:id => name} do %>
<label><%= t('v.tags.tags_label') %></label>
<%= render :partial => 'logis/tag_list', :locals => {:name => name + '_list',
- :link => link,
- :param_name => 'check_ll_link_string', :without_form => true} %>
+ :link => link, :param_name => 'check_ll_link_string',
+ :without_form => true} %>
<div class="spacer"></div>
<% end %>
Modified: trunk/app/views/users/_activity.html.erb
===================================================================
--- trunk/app/views/users/_activity.html.erb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/views/users/_activity.html.erb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -4,8 +4,28 @@
<dl class="statistics">
<dt><%= t 'v.users.created_logis_label' %></dt><dd><%= user.created_logis.count %></dd>
<dt><%= t 'v.users.edited_logis_label' %></dt><dd><%= user.edited_logi_versions.count %></dd>
- <dt><%= t 'defaults.percentile' %>:</dt><dd><%= number_to_percentage(PeerGroup.public.membership_for(user).percentile, :precision => 0) %></dd>
+ <dt><%= t 'defaults.percentile' %>:</dt><dd><%= number_to_percentage(
+ PeerGroup.public.membership_for(user).capped_percentile, :precision => 0) %></dd>
</dl>
+
+ <% if user == current_user %>
+ <% url_and_title = [edit_user_url(current_user) + '#badge',
+ {:title => _("Put your badge on your blog")}] %>
+ <% else %>
+ <% url_and_title = [user_url(user),
+ {:title => user.name}] %>
+ <% end %>
+ <%= link_to(image_tag(badge_url(:id => user.home_page_tag_string,
+ :peer_group_name => current_prefs.peer_group.home_page_tag_string,
+ :format => 'png'), :size => '120x60',
+ :id => (user == current_user ? 'current' : '')),
+ *url_and_title)%>
+ <% if user == current_user %>
+ <div class="smallprint">
+ <%= link_to("Get your badge for your blog", *url_and_title) %>
+ </div>
+ <% end %>
+
<!-- <h3>Status</h3>
<table class="rankings">
<tr>
@@ -14,7 +34,7 @@
<% user.peer_group_memberships.order_by_percentile.each do |membership| %>
<tr>
<td class="group"><%= peer_group_ll_link(membership.peer_group) %></td>
- <td class="percentile"><%= number_to_percentage(membership.percentile, :precision => 0) %></td>
+ <td class="percentile"><%= number_to_percentage(membership.capped_percentile, :precision => 0) %></td>
</tr>
<% end %>
</table> -->
Modified: trunk/app/views/users/_side_panel.html.erb
===================================================================
--- trunk/app/views/users/_side_panel.html.erb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/views/users/_side_panel.html.erb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -10,7 +10,9 @@
<%= render :partial => "activity", :locals => {:user => @user} %>
</div>
- <div id="feed">
- <%= render :partial => "feed", :locals => {:user => @user} %>
- </div>
+ <% if GlobalConfig.use_log_log? %>
+ <div id="feed">
+ <%= render :partial => "feed", :locals => {:user => @user} %>
+ </div>
+ <% end %>
</div>
Modified: trunk/app/views/users/edit.html.erb
===================================================================
--- trunk/app/views/users/edit.html.erb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/app/views/users/edit.html.erb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -2,7 +2,7 @@
<% render :layout => 'application/panel_with_header', :locals => {
:title => t('v.users.edit_account')} do %>
<ul>
-<!-- <li><%= t('v.users.select_default_peer_group') %></li> -->
+<!-- <li><%= t('v.users.select_default_peer_group') %></li> -->
<!-- <li><%= t('v.users.create_edit_invite_peer_groups') %></li> -->
<li><%= t('v.users.change_account_settings') %></li>
</ul>
@@ -35,11 +35,34 @@
peer_group_admin_memberships_url()) %></p>
<% end %>
-->
+ <% if GlobalConfig.use_log_log? %>
+ <% render :layout => 'application/panel_with_header', :locals => {
+ :title => t('v.users.personal_rss'), :id => "personal_rss"} do %>
+ <p><%= t('v.users.your_rss_updated') %></p>
+ <div class="your_feed"><p><%= t 'v.users.link_label' %></p></div> <%=
+ log_log_feed_link(:channel => 'for_' + current_user.unix_name) %>
+ <% end %>
+ <% end %>
+
<% render :layout => 'application/panel_with_header', :locals => {
- :title => t('v.users.personal_rss'), :id => "personal_rss"} do %>
- <p><%= t('v.users.your_rss_updated') %></p>
- <div class="your_feed"><p><%= t 'v.users.link_label' %></p></div> <%=
- log_log_feed_link(:channel => 'for_' + current_user.unix_name) %>
+ :title => t('v.users.settings')} do %>
+ <% form_for(@user, :html => {:id => "settings_form"}) do |form| %>
+ <p><%= t('v.users.set_avatar') + ' ' + link_to(t('defaults.click_here'),
+ "http://gravatar.com/signup") %></p>
+ <p><%= t('v.users.leave_blank') %></p>
+ <%= form.text_field :email,
+ :label => t('defaults.email_label'), :tabindex => 4 %>
+ <%= form.password_field :password,
+ :label => t('defaults.password_label'), :tabindex => 5 %>
+ <%= form.password_field :password_confirmation,
+ :label => t('defaults.password_confirmation_label'), :tabindex => 6 %>
+ <%= form.text_field :openid_identifier,
+ :label => t('defaults.openid_label'), :tabindex => 7 %>
+ <%= form.text_field :blog_title,
+ :label => t('defaults.blog_title_label'), :tabindex => 8 %>
+ <%= form.submit t('defaults.save'), :tabindex => 9 %>
+ <%= cancel_button %>
+ <% end %>
<% end %>
<% render :layout => 'application/panel_with_header', :locals => {
@@ -63,25 +86,20 @@
<% end %>
<% end %>
+ <a name="badge"></a>
<% render :layout => 'application/panel_with_header', :locals => {
- :title => t('v.users.settings')} do %>
- <% form_for(@user, :html => {:id => "settings_form"}) do |form| %>
- <p><%= t('v.users.set_avatar') + ' ' + link_to(t('defaults.click_here'),
- "http://gravatar.com/signup") %></p>
- <p><%= t('v.users.leave_blank') %></p>
- <%= form.text_field :email,
- :label => t('defaults.email_label'), :tabindex => 4 %>
- <%= form.password_field :password,
- :label => t('defaults.password_label'), :tabindex => 5 %>
- <%= form.password_field :password_confirmation,
- :label => t('defaults.password_confirmation_label'), :tabindex => 6 %>
- <%= form.text_field :openid_identifier,
- :label => t('defaults.openid_label'), :tabindex => 7 %>
- <%= form.text_field :blog_title,
- :label => t('defaults.blog_title_label'), :tabindex => 8 %>
- <%= form.submit t('defaults.save'), :tabindex => 9 %>
- <%= cancel_button %>
- <% end %>
+ :title => t('v.users.badge'), :id => "user_badge"} do %>
+ <p><%= _("You can add this badge with your ranking to the side-bar of your blog:") %></p>
+ <%= image_tag(
+ badge_url(:id => @user.home_page_tag_string,
+ :peer_group_name => current_prefs.peer_group.home_page_tag_string,
+ :format => 'png'), :size => '120x60') %>
+ <p><%= _("You can do this by inserting the following html where you please:") %></p>
+ <%= text_area_tag 'badge_field', '<a href="' + user_url(@user) + '">' +
+ image_tag(badge_url(:id => @user.home_page_tag_string,
+ :peer_group_name => current_prefs.peer_group.home_page_tag_string,
+ :format => 'png'), :alt => @user.name, :size => '120x60') +
+ '</a>' %>
<% end %>
<% render :layout => 'application/panel_with_header', :locals => {
Modified: trunk/config/environment.rb
===================================================================
--- trunk/config/environment.rb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/config/environment.rb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -111,6 +111,8 @@
# And at last load the configuration
require File.join(RAILS_ROOT, 'config', 'config')
+Mime::Type.register "image/png", :png
+
# To prevent api bug
module Mime
class Type
Modified: trunk/config/locales/en.yml
===================================================================
--- trunk/config/locales/en.yml 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/config/locales/en.yml 2010-09-08 16:42:33 UTC (rev 1769)
@@ -399,13 +399,14 @@
bad: bad
everyone_edit: "Everyone can edit"
excellent: excellent
- exceptional: exceptional
+ unsurpassed: unsurpassed
fair: fair
good: good
+ just_began: "just began"
neutral: neutral
off_topic: "off topic"
- ok: ok
owner_edit: "Only the owner can edit"
+ very_good: "very good"
context: ~
external_link:
html_tags_not_allowed: "html tags are not allowed inside external links."
@@ -920,6 +921,7 @@
activity: Activity
api_key: "API key"
api_key_is_label: "Your API-key is:"
+ badge: "Badge"
change_account_settings: "You can change your account settings."
create_edit_invite_peer_groups: "Create, edit and invite people to peergroups."
created_logis_label: "Created logis:"
Modified: trunk/config/routes.rb
===================================================================
--- trunk/config/routes.rb 2010-08-23 14:04:01 UTC (rev 1768)
+++ trunk/config/routes.rb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -3,8 +3,8 @@
map.with_options(:controller => 'translate') do |t|
t.translate_list 'do/translate'
- t.translate 'do/translate/translate', :action => 'translate'
- t.translate_reload 'do/translate/reload', :action => 'reload'
+ t.translate 'do/translate/translate', :action => 'translate'
+ t.translate_reload 'do/translate/reload', :action => 'reload'
end
#enable javascript gzip-compression for all.js
@@ -21,7 +21,8 @@
# For OpenID logins
map.resource :user_session,
:path_prefix => 'do'
- map.resources :changes, :rankings, :password_resets, :remote_users, :used_tags,
+ map.resources :changes, :rankings, :password_resets,
+ :remote_users, :used_tags,
:path_prefix => 'do'
# Most logis-routes are derouted in application.rb
@@ -40,16 +41,22 @@
:name_prefix => '_hidden_',
:requirements => { :ll_link_string => /.*/ }
map.resource :links, :ratings, :logi_settings, :logi_inserts, :logi_extras,
- :logi_versions, :remarks, :annotations, :external_links, :perma_links,
- :linked_logis, :comments,
+ :logi_versions, :remarks, :annotations, :external_links,
+ :perma_links, :linked_logis, :comments,
:path_prefix => ':ll_link_string/do',
:name_prefix => '_hidden_',
:requirements => { :ll_link_string => /.*/ }
+ map.badge 'do/users/:id/badge/:peer_group_name.:format',
+ :controller => 'users',
+ :action => 'badge'
+ map.medal 'do/medals/:percentile.:format',
+ :controller => 'users',
+ :action => 'medal'
map.resources :users,
:requirements => { :id => /.*/ }
map.resources :peer_group_admin_memberships, :peer_group_memberships,
:user_groups, :prefs_profiles, :invitations, :votes, :remarks,
- :annotations, :links, :linked_logis, :comments, :ratings, :paths,
+ :annotations, :links, :linked_logis, :comments, :ratings, :paths,
:steps,
:path_prefix => 'do'
map.resources :peer_groups,
@@ -62,7 +69,8 @@
# :requirements => { :ll_link_string => /.*/ }
# Popover clouds with links
- map.links_listing_for_remove 'do/links/listing_for_remove/:ids/:not_deleted_ids',
+ map.links_listing_for_remove 'do/links/listing_for_remove/:ids/' +
+ ':not_deleted_ids',
:controller => 'links',
:action => 'listing_for_remove',
:requirements => {
@@ -87,7 +95,8 @@
:action => 'select'
# Source
- map.source_cache 'do/code/source.zip', :controller => 'cache', :action => 'source'
+ map.source_cache 'do/code/source.zip',
+ :controller => 'cache', :action => 'source'
# Magick Corners
MagickCorners::Routes.draw(map, :path_prefix => 'do')
Added: trunk/lib/laurel_builder.rb
===================================================================
--- trunk/lib/laurel_builder.rb (rev 0)
+++ trunk/lib/laurel_builder.rb 2010-09-08 16:42:33 UTC (rev 1769)
@@ -0,0 +1,101 @@
+#--#
+# Copyright: (c) 2007-2010 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 GNU Affero General Public
+# License version 3 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 creating badges and medals.
+
+class LaurelBuilder
+ # Creates the badge with ImageMagick
+ #
+ def self.build_badge(name, pg_name, percentile, at, helpers)
+ percentile = percentile.round
+ category = helpers.percentile_category(percentile)
+ if category > 1
+ l_nr = ((category - 6) * -1).to_s
+ else
+ l_nr = '4'
+ end
+ img = Magick::Image.read("#{RAILS_ROOT}/public/images/badge" +
+ l_nr + ".png").first
+
+ text = Magick::Draw.new
+
+ text.font_family = 'verdana'
+
+ text.annotate(img, 0, 0, 10, 5, helpers.truncate(name, 18,'..')) {
+ self.pointsize = 10
+ self.gravity = Magick::NorthWestGravity
+ }
+ text.annotate(img, 0,0,((category < 3 or category > 4) ? 52 :
+ (category != 3 ? 65 : 58)), -5, helpers.percentile_in_words(
+ percentile)) {
+ self.pointsize = (category != 2 ? 13 : 15)
+ self.kerning = (category != 2 ? -0.7 : 0)
+ self.gravity = Magick::WestGravity
+ }
+ text.annotate(img, 0, 0, 80, 8, at) {
+ self.pointsize = 10
+ self.kerning = 0
+ self.gravity = Magick::WestGravity
+ }
+ text.annotate(img, 0,0,3,3, helpers.truncate(pg_name, 14, '..')) {
+ self.pointsize = 10
+ self.kerning = -0.5
+ self.gravity = Magick::SouthEastGravity
+ }
+ new = Magick::Image.new(120, 60) {
+ self.background_color = 'white'
+ }
+ text.annotate(new, 0, 0, 17, 26, percentile.to_s) {
+ self.pointsize = 18
+ self.kerning = 0
+ self.gravity = Magick::NorthWestGravity
+ }
+ new = new.shade(true, 310, 70)
+ new = new.matte_replace(0,0)
+ img = img.composite(new, Magick::SouthWestGravity, 0, 0,
+ Magick::OverCompositeOp)
+ return img
+ end
+
+ # Creates the medal with ImageMagick
+ #
+ def self.build_medal(percentile, helpers)
+ percentile = percentile.round
+ category = helpers.percentile_category(percentile)
+ if category > 1
+ l_nr = ((category - 6) * -1).to_s
+ else
+ l_nr = '4'
+ end
+ img = Magick::Image.read("#{RAILS_ROOT}/public/images/medal" +
+ l_nr + ".png").first
+
+ text = Magick::Draw.new
+
+ text.font_family = 'verdana'
+
+ new = Magick::Image.new(90, 90) {
+ self.background_color = 'white'
+ }
+ text.annotate(new, 0, 0, 31, 40, percentile.to_s) {
+ self.pointsize = 26
+ self.kerning = 0
+ self.gravity = Magick::NorthWestGravity
+ }
+ new = new.shade(true, 310, 70)
+ new = new.matte_replace(0,0)
+ img = img.composite(new, Magick::SouthWestGravity, 0, 0,
+ Magick::OverCompositeOp)
+ return img
+ end
+end
Added: trunk/lib/tasks/statistics.rake
===================================================================
--- trunk/lib/tasks/statistics.rake (rev 0)
+++ trunk/lib/tasks/statistics.rake 2010-09-08 16:42:33 UTC (rev 1769)
@@ -0,0 +1,20 @@
+STATS_DIRECTORIES = [
+ %w(Controllers app/controllers),
+ %w(Helpers app/helpers),
+ %w(Models app/models),
+ %w(Libraries lib/),
+ %w(APIs app/apis),
+ %w(Integration\ tests test/integration),
+ %w(Functional\ tests test/functional),
+ %w(Plugins\ body_buil vendor/plugins/body_builder),
+ %w(Plugins\ magick_co vendor/plugins/magick_corners),
+ %w(Plugins\ thorny_fo vendor/plugins/thorny_form),
+ %w(Unit\ tests test/unit)
+
+].collect { |name, dir| [ name, "#{RAILS_ROOT}/#{dir}" ] }.select { |name, dir| File.directory?(dir) }
+
+desc "Report code statistics (KLOCs, etc) from the application"
+task :stats do
+ require 'code_statistics'
+ CodeStatistics.new(*STATS_DIRECTORIES).to_s
+end
Added: trunk/public/images/badge1.png
===================================================================
(Binary files differ)
Property changes on: trunk/public/images/badge1.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/public/images/badge1.svg
===================================================================
--- trunk/public/images/badge1.svg (rev 0)
+++ trunk/public/images/badge1.svg 2010-09-08 16:42:33 UTC (rev 1769)
@@ -0,0 +1,229 @@
+<?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://creativecommons.org/ns#"
+ 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="120"
+ height="60"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="badge1.svg"
+ inkscape:export-filename="/home/wybo/logilogi/trunk/public/images/badge1.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2884"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2982"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3008"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3099"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <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" />
+ <linearGradient
+ id="linearGradient2760">
+ <stop
+ style="stop-color:white;stop-opacity:1;"
+ offset="0"
+ id="stop7221" />
+ <stop
+ id="stop7217"
+ offset="1"
+ style="stop-color:yellow;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ r="82.478981"
+ fy="258.64297"
+ fx="177.1467"
+ cy="258.64297"
+ cx="177.1467"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3108"
+ xlink:href="#linearGradient2760"
+ inkscape:collect="always" />
+ <inkscape:perspective
+ id="perspective3625"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3647"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4444"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4477"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3308"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="41.447001"
+ inkscape:cy="29.06221"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1366"
+ inkscape:window-height="719"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-992.36218)">
+ <path
+ style="fill:#e9ebf7;fill-opacity:1;stroke:#f1f2fa;stroke-width:0.37085477000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 93.664876,1047.6748 c 0.459629,-2.3385 -23.991119,-8.0833 -36.689772,-10.8945 -13.072549,-2.8944 -13.226371,-2.9069 -19.97239,-4.1096 -7.635445,-1.3613 -11.979161,-2.133 -15.841435,-3.5617 -2.224501,-1.241 -3.697814,-0.6774 -3.580506,-4.8775 0.07834,-2.8072 0.0928,-8.67 0.0324,-13.029 -0.295887,-21.27715 -0.188072,-30.02937 0.391963,-31.85054 0.349054,-1.09563 0.337352,-6.90011 -0.02521,-12.89878 -0.363408,-5.99872 -0.465433,-12.28074 -0.226604,-13.96091 0.238761,-1.67951 0.385649,-8.5462 0.326411,-15.25799 -0.05929,-6.71255 0.209676,-15.64369 0.59764,-19.84774 l 0.705567,-7.64364 -6.758356,-3.78279 c -9.9720959,-5.77156 -13.7333485,-2.42476 -13.20315968,7.62816 -0.32295315,24.09317 1.39389536,48.3373 0.56786425,72.40907 -0.2512498,3.69513 -0.20358495,11.64283 0.10612131,17.66146 0.54753634,10.6477 0.5271774,15.3524 -0.11720322,27.1384 -0.30553365,5.589 -0.20856417,5.7387 4.91425884,7.5682 4.4482303,1.5882 13.9622745,2.8492 34.6392405,4.5907 2.299568,0.1924 7.244721,0.7438 10.989185,1.2229 8.346625,1.0674 23.246459,2.224 24.458114,2.4242 5.811164,0.9606 18.530636,1.8677 18.687071,1.0716 z"
+ id="path5319"
+ sodipodi:nodetypes="cssssssssscccssssssssc"
+ inkscape:export-filename="/home/wybo/logilogi/docs/logo/book_logo.png"
+ inkscape:export-xdpi="299.92236"
+ inkscape:export-ydpi="299.92236" />
+ <path
+ style="fill:#ebedf8;fill-opacity:1;stroke:#f4f5fb;stroke-width:0.37085477000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 110.84276,1047.9021 c -0.98144,-2.5488 -11.670888,-9.2169 -42.172598,-25.6222 -11.785245,-6.339 -14.066595,-6.7833 -13.867816,-13.4056 1.624206,-54.10965 1.546338,-114.21234 -0.150981,-116.61254 -3.122505,-4.41421 -18.075156,-10.35953 -19.561433,-7.77784 -0.658748,1.14474 -1.28055,12.63962 -1.381931,25.54467 -0.101369,12.90567 -0.227714,29.57495 -0.280412,37.04342 -0.05286,7.46836 -0.153209,20.05336 -0.222983,27.96618 -0.27508,31.20731 0.10108,47.83381 1.107804,48.97921 0.579829,0.6597 4.700252,1.7325 9.156515,2.3832 7.772389,1.1358 15.775359,4.2654 44.463211,13.8757 6.241999,2.0913 23.860974,10.0934 22.910584,7.6258 z"
+ id="path5394"
+ sodipodi:nodetypes="cssssssssssc"
+ inkscape:export-filename="/home/wybo/logilogi/docs/logo/book_logo.png"
+ inkscape:export-xdpi="299.92236"
+ inkscape:export-ydpi="299.92236" />
+ <path
+ style="fill:#e7f0e2;fill-opacity:1;stroke:#f4f8f2;stroke-width:0.37085490999999998;stroke-opacity:1"
+ d="m 120.95559,979.69636 -0.2239,-68.45143 -6.53189,-8.29343 c -12.4074,-15.75283 -35.38906,-33.28743 -39.217429,-29.92179 -0.920449,0.80905 -1.662105,6.37932 -1.648211,12.37786 0.127778,55.03795 0.383173,109.44882 0.545121,116.09253 l 0.197615,8.1143 7.343144,4.2068 c 9.850326,5.6428 20.06518,14.3917 29.94112,25.6443 4.48955,5.1153 8.53519,9.1618 8.99029,8.9921 0.45524,-0.1738 0.72692,-31.1126 0.60383,-68.76124 z"
+ id="path5439"
+ inkscape:export-filename="/home/wybo/logilogi/docs/logo/book_logo.png"
+ inkscape:export-xdpi="299.92236"
+ inkscape:export-ydpi="299.92236" />
+ <rect
+ style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect1905"
+ width="118.97239"
+ height="59"
+ x="0.5"
+ y="992.86218" />
+ <path
+ d="m 226.42857,334.50503 -49.29191,-26.13405 -49.29966,26.11942 9.62292,-54.95526 -40.075474,-38.81542 55.239204,-7.83016 24.53165,-50.10867 24.51678,50.11595 55.23687,7.84656 -40.08699,38.80352 9.60661,54.95811 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="path22767"
+ style="fill:url(#radialGradient3108);fill-opacity:1;stroke:#cccccc;stroke-width:1.87219572;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="star"
+ transform="matrix(0.25615406,0,0,0.26932296,-19.587513,957.4877)" />
+ <text
+ xml:space="preserve"
+ style="font-size:30.87376022px;font-style:normal;font-weight:normal;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:0.36363639;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ x="9.3169937"
+ y="1081.83"
+ id="text1901"
+ transform="scale(1.0424253,0.95930135)"><tspan
+ sodipodi:role="line"
+ id="tspan1903"
+ x="9.3169937"
+ y="1081.83"
+ style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:0.36363639;stroke-dasharray:none">%</tspan></text>
+ <image
+ xlink:href="file:///home/wybo/projects/ogog/mess/laurel_1.png"
+ width="51.796947"
+ height="41.005917"
+ id="image3615"
+ x="0.5"
+ y="1010.3563" />
+ </g>
+</svg>
Added: trunk/public/images/badge2.png
===================================================================
(Binary files differ)
Property changes on: trunk/public/images/badge2.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/public/images/badge2.svg
===================================================================
--- trunk/public/images/badge2.svg (rev 0)
+++ trunk/public/images/badge2.svg 2010-09-08 16:42:33 UTC (rev 1769)
@@ -0,0 +1,236 @@
+<?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://creativecommons.org/ns#"
+ 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="120"
+ height="60"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="badge2.svg"
+ inkscape:export-filename="/home/wybo/logilogi/trunk/public/images/badge2.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2884"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2982"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3008"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3099"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <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" />
+ <linearGradient
+ id="linearGradient2760">
+ <stop
+ style="stop-color:white;stop-opacity:1;"
+ offset="0"
+ id="stop7221" />
+ <stop
+ id="stop7217"
+ offset="1"
+ style="stop-color:yellow;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ r="82.478981"
+ fy="258.64297"
+ fx="177.1467"
+ cy="258.64297"
+ cx="177.1467"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3108"
+ xlink:href="#linearGradient2760"
+ inkscape:collect="always" />
+ <inkscape:perspective
+ id="perspective3625"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3647"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4444"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4477"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3308"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4238"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="41.447001"
+ inkscape:cy="29.06221"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1366"
+ inkscape:window-height="719"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-992.36218)">
+ <path
+ style="fill:#e9ebf7;fill-opacity:1;stroke:#f1f2fa;stroke-width:0.37085477000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 93.664876,1047.6748 c 0.459629,-2.3385 -23.991119,-8.0833 -36.689772,-10.8945 -13.072549,-2.8944 -13.226371,-2.9069 -19.97239,-4.1096 -7.635445,-1.3613 -11.979161,-2.133 -15.841435,-3.5617 -2.224501,-1.241 -3.697814,-0.6774 -3.580506,-4.8775 0.07834,-2.8072 0.0928,-8.67 0.0324,-13.029 -0.295887,-21.27715 -0.188072,-30.02937 0.391963,-31.85054 0.349054,-1.09563 0.337352,-6.90011 -0.02521,-12.89878 -0.363408,-5.99872 -0.465433,-12.28074 -0.226604,-13.96091 0.238761,-1.67951 0.385649,-8.5462 0.326411,-15.25799 -0.05929,-6.71255 0.209676,-15.64369 0.59764,-19.84774 l 0.705567,-7.64364 -6.758356,-3.78279 c -9.9720959,-5.77156 -13.7333485,-2.42476 -13.20315968,7.62816 -0.32295315,24.09317 1.39389536,48.3373 0.56786425,72.40907 -0.2512498,3.69513 -0.20358495,11.64283 0.10612131,17.66146 0.54753634,10.6477 0.5271774,15.3524 -0.11720322,27.1384 -0.30553365,5.589 -0.20856417,5.7387 4.91425884,7.5682 4.4482303,1.5882 13.9622745,2.8492 34.6392405,4.5907 2.299568,0.1924 7.244721,0.7438 10.989185,1.2229 8.346625,1.0674 23.246459,2.224 24.458114,2.4242 5.811164,0.9606 18.530636,1.8677 18.687071,1.0716 z"
+ id="path5319"
+ sodipodi:nodetypes="cssssssssscccssssssssc"
+ inkscape:export-filename="/home/wybo/logilogi/docs/logo/book_logo.png"
+ inkscape:export-xdpi="299.92236"
+ inkscape:export-ydpi="299.92236" />
+ <path
+ style="fill:#ebedf8;fill-opacity:1;stroke:#f4f5fb;stroke-width:0.37085477000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 110.84276,1047.9021 c -0.98144,-2.5488 -11.670888,-9.2169 -42.172598,-25.6222 -11.785245,-6.339 -14.066595,-6.7833 -13.867816,-13.4056 1.624206,-54.10965 1.546338,-114.21234 -0.150981,-116.61254 -3.122505,-4.41421 -18.075156,-10.35953 -19.561433,-7.77784 -0.658748,1.14474 -1.28055,12.63962 -1.381931,25.54467 -0.101369,12.90567 -0.227714,29.57495 -0.280412,37.04342 -0.05286,7.46836 -0.153209,20.05336 -0.222983,27.96618 -0.27508,31.20731 0.10108,47.83381 1.107804,48.97921 0.579829,0.6597 4.700252,1.7325 9.156515,2.3832 7.772389,1.1358 15.775359,4.2654 44.463211,13.8757 6.241999,2.0913 23.860974,10.0934 22.910584,7.6258 z"
+ id="path5394"
+ sodipodi:nodetypes="cssssssssssc"
+ inkscape:export-filename="/home/wybo/logilogi/docs/logo/book_logo.png"
+ inkscape:export-xdpi="299.92236"
+ inkscape:export-ydpi="299.92236" />
+ <path
+ style="fill:#e7f0e2;fill-opacity:1;stroke:#f4f8f2;stroke-width:0.37085490999999998;stroke-opacity:1"
+ d="m 120.95559,979.69636 -0.2239,-68.45143 -6.53189,-8.29343 c -12.4074,-15.75283 -35.38906,-33.28743 -39.217429,-29.92179 -0.920449,0.80905 -1.662105,6.37932 -1.648211,12.37786 0.127778,55.03795 0.383173,109.44882 0.545121,116.09253 l 0.197615,8.1143 7.343144,4.2068 c 9.850326,5.6428 20.06518,14.3917 29.94112,25.6443 4.48955,5.1153 8.53519,9.1618 8.99029,8.9921 0.45524,-0.1738 0.72692,-31.1126 0.60383,-68.76124 z"
+ id="path5439"
+ inkscape:export-filename="/home/wybo/logilogi/docs/logo/book_logo.png"
+ inkscape:export-xdpi="299.92236"
+ inkscape:export-ydpi="299.92236" />
+ <rect
+ style="fill:none;stroke:#b3b3b3;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect1905"
+ width="118.97239"
+ height="59"
+ x="0.5"
+ y="992.86218" />
+ <path
+ d="m 226.42857,334.50503 -49.29191,-26.13405 -49.29966,26.11942 9.62292,-54.95526 -40.075474,-38.81542 55.239204,-7.83016 24.53165,-50.10867 24.51678,50.11595 55.23687,7.84656 -40.08699,38.80352 9.60661,54.95811 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="path22767"
+ style="fill:url(#radialGradient3108);fill-opacity:1;stroke:#cccccc;stroke-width:1.87219572;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="star"
+ transform="matrix(0.25615406,0,0,0.26932296,-19.587513,957.48776)" />
+ <text
+ xml:space="preserve"
+ style="font-size:30.87376022px;font-style:normal;font-weight:normal;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:0.36363639;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ x="9.3169928"
+ y="1081.8301"
+ id="text1901"
+ transform="scale(1.0424253,0.95930135)"><tspan
+ sodipodi:role="line"
+ id="tspan1903"
+ x="9.3169928"
+ y="1081.8301"
+ style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:0.36363639;stroke-dasharray:none">%</tspan></text>
+ <image
+ y="1010.3562"
+ x="0.5"
+ id="image4755"
+ height="41.006001"
+ width="51.797001"
+ xlink:href="file:///home/wybo/projects/ogog/mess/laurel_2.png" />
+ </g>
+</svg>
Added: trunk/public/images/badge3.png
===================================================================
(Binary files differ)
Property changes on: trunk/public/images/badge3.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/public/images/badge3.svg
===================================================================
--- trunk/public/images/badge3.svg (rev 0)
+++ trunk/public/images/badge3.svg 2010-09-08 16:42:33 UTC (rev 1769)
@@ -0,0 +1,243 @@
+<?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://creativecommons.org/ns#"
+ 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="120"
+ height="60"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="badge3.svg"
+ inkscape:export-filename="/home/wybo/logilogi/trunk/public/images/badge3.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2884"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2982"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3008"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3099"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <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" />
+ <linearGradient
+ id="linearGradient2760">
+ <stop
+ style="stop-color:white;stop-opacity:1;"
+ offset="0"
+ id="stop7221" />
+ <stop
+ id="stop7217"
+ offset="1"
+ style="stop-color:yellow;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ r="82.478981"
+ fy="258.64297"
+ fx="177.1467"
+ cy="258.64297"
+ cx="177.1467"
+ gradientTransform="matrix(1,0,0,0.952713,0,12.23045)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3108"
+ xlink:href="#linearGradient2760"
+ inkscape:collect="always" />
+ <inkscape:perspective
+ id="perspective3625"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3647"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4444"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4477"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3308"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4238"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4308"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6"
+ inkscape:cx="41.447001"
+ inkscape:cy="29.06221"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1366"
+ inkscape:window-height="719"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-992.36218)">
+ <path
+ style="fill:#e9ebf7;fill-opacity:1;stroke:#f1f2fa;stroke-width:0.37085477000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 93.664876,1047.6748 c 0.459629,-2.3385 -23.991119,-8.0833 -36.689772,-10.8945 -13.072549,-2.8944 -13.226371,-2.9069 -19.97239,-4.1096 -7.635445,-1.3613 -11.979161,-2.133 -15.841435,-3.5617 -2.224501,-1.241 -3.697814,-0.6774 -3.580506,-4.8775 0.07834,-2.8072 0.0928,-8.67 0.0324,-13.029 -0.295887,-21.27715 -0.188072,-30.02937 0.391963,-31.85054 0.349054,-1.09563 0.337352,-6.90011 -0.02521,-12.89878 -0.363408,-5.99872 -0.465433,-12.28074 -0.226604,-13.96091 0.238761,-1.67951 0.385649,-8.5462 0.326411,-15.25799 -0.05929,-6.71255 0.209676,-15.64369 0.59764,-19.84774 l 0.705567,-7.64364 -6.758356,-3.78279 c -9.9720959,-5.77156 -13.7333485,-2.42476 -13.20315968,7.62816 -0.32295315,24.09317 1.39389536,48.3373 0.56786425,72.40907 -0.2512498,3.69513 -0.20358495,11.64283 0.10612131,17.66146 0.54753634,10.6477 0.5271774,15.3524 -0.11720322,27.1384 -0.30553365,5.589 -0.20856417,5.7387 4.91425884,7.5682 4.4482303,1.5882 13.9622745,2.8492 34.6392405,4.5907 2.299568,0.1924 7.244721,0.7438 10.989185,1.2229 8.346625,1.0674 23.246459,2.224 24.458114,2.4242 5.811164,0.9606 18.530636,1.8677 18.687071,1.0716 z"
+ id="path5319"
+ sodipodi:nodetypes="cssssssssscccssssssssc"
+ inkscape:export-filename="/home/wybo/logilogi/docs/logo/book_logo.png"
+ inkscape:export-xdpi="299.92236"
+ inkscape:export-ydpi="299.92236" />
+ <path
+ style="fill:#ebedf8;fill-opacity:1;stroke:#f4f5fb;stroke-width:0.37085477000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 110.84276,1047.9021 c -0.98144,-2.5488 -11.670888,-9.216...
[truncated message content] |
|
From: <wy...@us...> - 2010-08-23 14:04:12
|
Revision: 1768
http://logilogi.svn.sourceforge.net/logilogi/?rev=1768&view=rev
Author: wybow
Date: 2010-08-23 14:04:01 +0000 (Mon, 23 Aug 2010)
Log Message:
-----------
Small fix in readme, and site link support for local mode
Modified Paths:
--------------
trunk/app/models/global_config.rb
trunk/config/config.rb.tmpl
trunk/doc/README_FOR_APP
Modified: trunk/app/models/global_config.rb
===================================================================
--- trunk/app/models/global_config.rb 2010-08-16 09:35:23 UTC (rev 1767)
+++ trunk/app/models/global_config.rb 2010-08-23 14:04:01 UTC (rev 1768)
@@ -331,7 +331,8 @@
### Composites
def site_url(options = {})
- return self.protocol + '://' + self.site_host(options) + '/'
+ return self.protocol + '://' + self.site_host(options) +
+ (RAILS_ENV == "development" ? ":3000" : "") + '/'
end
def site_host(options = {})
Modified: trunk/config/config.rb.tmpl
===================================================================
--- trunk/config/config.rb.tmpl 2010-08-16 09:35:23 UTC (rev 1767)
+++ trunk/config/config.rb.tmpl 2010-08-23 14:04:01 UTC (rev 1768)
@@ -54,7 +54,7 @@
#
# The domain_levels setting is derived from this one.
#
- :site_domain => 'edge.LogiLogi.org',
+ :site_domain => 'logi-manta.org',
# The language this site is in.
#
Modified: trunk/doc/README_FOR_APP
===================================================================
--- trunk/doc/README_FOR_APP 2010-08-16 09:35:23 UTC (rev 1767)
+++ trunk/doc/README_FOR_APP 2010-08-23 14:04:01 UTC (rev 1768)
@@ -95,8 +95,7 @@
except rack.
This last gem could not be included because Rails will not allow
-you to (some starting issue). You can install it in the following
-way:
+one to to (a bug). You can install it in the following way:
gem install rack (with the '-v 1.0.1' option currently)
All done. Skip to step 2.
@@ -117,8 +116,8 @@
LogiLogi Manta requires Rails[http://www.rubyonrails.org].
-You can install Rails with (gem1.8, or gem<version number> on some
-OSses):
+You can install Rails with ruby gems (gem1.8, or gem<version number>
+on some OSses):
gem install rails
(as root, if gem command is not found you might have to type gem1.8
instead)
@@ -202,7 +201,7 @@
To get going with the GUI you should add something like the following
to your /etc/hosts:
- 0.0.0.0 en.logi-manta.org de.logi-manta.org
+ 0.0.0.0 logi-manta.org en.logi-manta.org de.logi-manta.org
Then start the included WEBRick server with script/server from the
trunk directory.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-08-16 09:35:30
|
Revision: 1767
http://logilogi.svn.sourceforge.net/logilogi/?rev=1767&view=rev
Author: wybow
Date: 2010-08-16 09:35:23 +0000 (Mon, 16 Aug 2010)
Log Message:
-----------
Added Chrome support notice
Modified Paths:
--------------
trunk/app/views/layouts/_footer.html.erb
trunk/config/locales/en.yml
Modified: trunk/app/views/layouts/_footer.html.erb
===================================================================
--- trunk/app/views/layouts/_footer.html.erb 2010-08-15 22:13:05 UTC (rev 1766)
+++ trunk/app/views/layouts/_footer.html.erb 2010-08-16 09:35:23 UTC (rev 1767)
@@ -6,7 +6,7 @@
<%= t 'v.layouts.best_viewed_with',
:link_open => '<a href="http://www.mozilla.com/firefox/">',
:link_close => '</a>' %> |
- <a href="http://foundation.logilogi.org/2008/5/6/logilogi-manta-in-public-beta"><%= t 'v.layouts.about_logi_logi' %></a> |
+ <a href="http://foundation.logilogi.org"><%= t 'v.layouts.about_logi_logi' %></a> |
<a href="mailto:fou...@lo..."><%= t 'v.layouts.contact_us' %></a>
</div>
</div>
@@ -14,11 +14,11 @@
<div class="panel_content_padding">
Supported / sponsored by:
</div>
- <%= link_to image_tag('logilogi_foundation.png', :size => "156x40"), "http://foundation.logilogi.org" %>
+ <%= link_to image_tag('zylon.png', :size => "156x40"), "http://www.zylon.net" %>
<%= link_to image_tag('university_of_groningen.png', :size => "156x40"), "http://www.rug.nl" %>
<%= link_to image_tag('esf.png', :size => "74x40"), "http://foundation.logilogi.org/2010/7/12/at-digital-humanities-2010" %>
<%= link_to image_tag('ofset.png', :size => "156x40"), "http://www.ofset.org" %>
- <%= link_to image_tag('zylon.png', :size => "156x40"), "http://www.zylon.net" %>
+ <%= link_to image_tag('logilogi_foundation.png', :size => "156x40"), "http://foundation.logilogi.org" %>
</div>
<% end %>
<div class="copyright">
Modified: trunk/config/locales/en.yml
===================================================================
--- trunk/config/locales/en.yml 2010-08-15 22:13:05 UTC (rev 1766)
+++ trunk/config/locales/en.yml 2010-08-16 09:35:23 UTC (rev 1767)
@@ -618,7 +618,7 @@
login: Login
logout: Logout
means_available: "This means that the source code is {{link}}."
- needs_javascript: "{{link}} needs Javascript enabled, and only works in {{firefox_open}}Firefox 3{{link_close}}, and in Internet Explorer 7."
+ needs_javascript: "{{link}} needs Javascript enabled, and only works in {{firefox_open}}Firefox 3{{link_close}}, Internet Explorer (7 and 8), and Google Chrome."
new: New
preferences: Preferences
rankings: Rankings
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-08-15 22:13:12
|
Revision: 1766
http://logilogi.svn.sourceforge.net/logilogi/?rev=1766&view=rev
Author: wybow
Date: 2010-08-15 22:13:05 +0000 (Sun, 15 Aug 2010)
Log Message:
-----------
Chrome support and logi & remark attach buttons
Modified Paths:
--------------
trunk/app/controllers/annotations_controller.rb
trunk/app/controllers/comments_controller.rb
trunk/app/controllers/logi_inserts_controller.rb
trunk/app/controllers/logis_controller.rb
trunk/app/controllers/perma_links_controller.rb
trunk/app/views/annotations/_new.html.erb
trunk/app/views/layouts/_header.html.erb
trunk/app/views/logis/_comments.html.erb
trunk/app/views/logis/_remarks.html.erb
trunk/app/views/logis/_snippet.html.erb
trunk/app/views/logis/_snippets_list.html.erb
trunk/app/views/logis/_snippets_pagination.html.erb
trunk/app/views/perma_links/_new.html.erb
trunk/app/views/remarks/_list.html.erb
trunk/config/locales/en.yml
trunk/public/stylesheets/logilogi.css
trunk/test/fixtures/remarks.yml
trunk/test/functional/annotations_controller_test.rb
trunk/test/functional/perma_links_controller_test.rb
trunk/test/functional/remarks_controller_test.rb
Added Paths:
-----------
trunk/test/functional/logi_inserts_controller_test.rb
Modified: trunk/app/controllers/annotations_controller.rb
===================================================================
--- trunk/app/controllers/annotations_controller.rb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/controllers/annotations_controller.rb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -22,6 +22,11 @@
### Bodies
def create
+ if params[:insert_remark_id] and !params[:insert_remark_id].empty?
+ @remark = Remark.find(params[:insert_remark_id])
+ else
+ @remark = nil
+ end
new_annotation_position_range_list = self.weave_out_annotations(
params[:body_with_inserts], @logi_version, @logi)
if new_annotation_position_range_list.empty?
@@ -42,12 +47,16 @@
if @logi.errors.empty? and @annotation.valid? and self.thorny_form_free_of_spam?
@annotation.save
+ if @remark and @remark.user == current_user
+ @remark.destroy
+ end
flash[:notice] = t 'c.annotations.added'
if !params[:and_attach] or params[:and_attach].empty?
redirect_to logi_url(@logi)
else
@annotation = Annotation.new
@selected = 'annotation'
+ @remark = nil
render :template => 'logi_inserts/new'
end
else
Modified: trunk/app/controllers/comments_controller.rb
===================================================================
--- trunk/app/controllers/comments_controller.rb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/controllers/comments_controller.rb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -22,7 +22,7 @@
### REST-methods
def new
- @from_blog = (params[:from_blog] ? true : false)
+ @from_blog = (params[:from_blog] == "true" ? true : false)
@selected = params[:selected] || 'new_logi'
@commenting_logi = Logi.new_with(:creator => current_user,
:user_group => current_prefs.user_group)
Modified: trunk/app/controllers/logi_inserts_controller.rb
===================================================================
--- trunk/app/controllers/logi_inserts_controller.rb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/controllers/logi_inserts_controller.rb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -25,6 +25,16 @@
def new
@selected = params[:selected]
@link_selected = params[:link_selected]
+ if params[:insert_remark_id] and !params[:insert_remark_id].empty?
+ @remark = Remark.find(params[:insert_remark_id])
+ @annotation = Annotation.new(:message => @remark.message)
+ else
+ @perma_link = params[:perma_link]
+ if @perma_link
+ @check_link = Link.new_from_s(@perma_link.dup)
+ @check_link.resolve
+ end
+ end
@new_logi = Logi.new_with(:creator => current_user,
:user_group => current_prefs.user_group)
Modified: trunk/app/controllers/logis_controller.rb
===================================================================
--- trunk/app/controllers/logis_controller.rb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/controllers/logis_controller.rb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -258,15 +258,14 @@
def check
@check_link = Link.new_from_s(params[:check_ll_link_string])
@check_link.resolve
- if @check_link.errors.empty?
- respond_to do |format|
- format.js do
- render :template => 'logis/check.js.rjs', :locals => {
- :name => params[:name]}
+ respond_to do |format|
+ format.js do
+ if !@check_link.errors.empty?
+ @check_link = nil
end
+ render :template => 'logis/check.js.rjs', :locals => {
+ :name => params[:name]}
end
- else
- render :nothing => true
end
end
Modified: trunk/app/controllers/perma_links_controller.rb
===================================================================
--- trunk/app/controllers/perma_links_controller.rb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/controllers/perma_links_controller.rb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -37,6 +37,9 @@
flash[:error] = t 'c.perma_links.error_adding'
@selected = 'link'
@link_selected = 'perma_link'
+ @perma_link = params[:perma_link]
+ @check_link = Link.new_from_s(@perma_link.dup)
+ @check_link.resolve
render :template => 'logi_inserts/new'
end
end
Modified: trunk/app/views/annotations/_new.html.erb
===================================================================
--- trunk/app/views/annotations/_new.html.erb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/views/annotations/_new.html.erb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -1,6 +1,7 @@
<% render :layout => 'application/panel', :locals => {
:title => t('v.annotations.adding'), :id => "annotation_panel"} do %>
<label><%= t('v.annotations.annotation_label') %></label>
+ <%= hidden_field_tag :insert_remark_id, (@remark ? @remark.id : nil) %>
<%= text_area :annotation, :message,
: "logiMessagesCheckLength('annotation_message', 'annotation_length_warning')",
: "logiMessagesCheckLength('annotation_message', 'annotation_length_warning')" %>
Modified: trunk/app/views/layouts/_header.html.erb
===================================================================
--- trunk/app/views/layouts/_header.html.erb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/views/layouts/_header.html.erb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -52,18 +52,17 @@
</div>
</div>
</div>
+ <div id="header_box">
<% if !local_assigns[:user_page] %>
- <div id="top_search">
- <% form_for(:search, nil, :url => browse_logis_url(:ll_link_string => ''),
- :html => {:method => :get}) do |form| %>
- <%= form.text_field :ll_link_string, :name => :top_ll_link_string, :value => @query,
- :no_label => true, :id => 'top_search_query' %>
- <%= form.submit t('v.searches.search'), :id => 'top_search_button',
- :class => 'go_button' %>
- <% end %>
- </div>
+ <% form_for(:search, nil, :url => browse_logis_url(:ll_link_string => ''),
+ :html => {:method => :get}) do |form| %>
+ <%= form.submit t('v.searches.search'), :id => 'top_search_button',
+ :class => 'go_button' %>
+ <%= form.text_field :ll_link_string, :name => :top_ll_link_string, :value => @query,
+ :no_label => true, :id => 'top_search_query' %>
+ <% end %>
<% end %>
- <div id="sessions">
+ <div id="header_links">
<% if current_user.anonymous? %>
<%= link_to t('v.layouts.signup'), new_user_url %> |
<%= link_to t('v.layouts.login'), new_user_session_url %><%= (local_assigns[:user_page] ? '' : ' |') %>
@@ -72,6 +71,7 @@
<%= link_to t('v.layouts.preferences'), edit_user_url(current_user) %> |
<%= link_to t('v.layouts.logout'), user_session_path, :method => :delete %><%= (local_assigns[:user_page] ? '' : ' |') %>
<% end %>
+ </div>
</div>
<% if !local_assigns[:tabs_disabled] %>
<%= render :partial => 'layouts/tabs' %>
Modified: trunk/app/views/logis/_comments.html.erb
===================================================================
--- trunk/app/views/logis/_comments.html.erb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/views/logis/_comments.html.erb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -3,5 +3,5 @@
</div>
<% if !logis.empty? %>
<%= render :partial => 'snippets_pagination', :locals => {
- :logis => logis, :selected => 'comments'} %>
+ :logis => logis, :selected => 'comments', :action => :view} %>
<% end %>
Modified: trunk/app/views/logis/_remarks.html.erb
===================================================================
--- trunk/app/views/logis/_remarks.html.erb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/views/logis/_remarks.html.erb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -17,7 +17,7 @@
<%= show_errors 'remark' %>
<%= render :partial => 'remarks/list.html.erb', :locals => {
- :remarks => @remarks} %>
+ :remarks => @remarks, :action => :view} %>
<% javascript_tag do -%>
logiMessagesInitEditor('remark_length_warning',
Modified: trunk/app/views/logis/_snippet.html.erb
===================================================================
--- trunk/app/views/logis/_snippet.html.erb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/views/logis/_snippet.html.erb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -33,12 +33,18 @@
<%= logi.current_snippet %><%= link_to t('v.logis.read_on'),
logi_url(logi.link) %>
</p>
- <div class="spacer"></div>
<% if !logi.untagged? %>
<span class="tags"><em><%= t 'v.logis.tags_label' %></em>
<%= browse_ll_link(logi.link, :step => -1, :length => 78) %>
</span>
<% end %>
+ <% if local_assigns[:action] == :view and
+ !logi.link_matches.collect {|m| m.logi}.include?(@logi) %>
+ <%= button_to(t('v.logis.insert_this_logi'),
+ new_logi_logi_inserts_url(@logi, :selected => 'link', :link_selected => 'perma_link',
+ :perma_link => perma_logi_ll_url(logi)), :class => 'insert_button insert_this_button',
+ :tabindex => 1) %>
+ <% end %>
<div class="spacer"></div>
<% end %>
</div>
Modified: trunk/app/views/logis/_snippets_list.html.erb
===================================================================
--- trunk/app/views/logis/_snippets_list.html.erb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/views/logis/_snippets_list.html.erb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -6,6 +6,7 @@
</center>
<% else %>
<% logis.each do |logi| %>
- <%= render :partial => 'logis/snippet', :locals => {:logi => logi} %>
+ <%= render :partial => 'logis/snippet', :locals => {:logi => logi,
+ :action => local_assigns[:action]} %>
<% end %>
<% end %>
Modified: trunk/app/views/logis/_snippets_pagination.html.erb
===================================================================
--- trunk/app/views/logis/_snippets_pagination.html.erb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/views/logis/_snippets_pagination.html.erb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -8,7 +8,7 @@
<div class="index_list">
<%= render :partial => 'logis/snippets_list', :locals => {
- :logis => logis} %>
+ :logis => logis, :action => local_assigns[:action]} %>
</div>
<%= will_paginate logis, :params => {:selected => selected},
Modified: trunk/app/views/perma_links/_new.html.erb
===================================================================
--- trunk/app/views/perma_links/_new.html.erb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/views/perma_links/_new.html.erb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -1,8 +1,8 @@
<% render :layout => 'application/panel', :locals => {:id => 'link_perma_id'} do %>
<label id="perma_link_label"><%= t 'v.perma_links.permanent_link_label' %></label>
- <%= text_field_tag 'perma_link', nil, :id => "perma_link", :autocomplete => "off" %>
+ <%= text_field_tag 'perma_link', @perma_link, :id => "perma_link", :autocomplete => "off" %>
<%= observe_field 'perma_link', :url => {:controller => 'logis', :action => 'check', :name => 'perma'},
- :method => "get", :with => "check_ll_link_string" %>
+ :method => "get", :frequency => 0.25, :with => "check_ll_link_string" %>
<% end %>
<%= render :partial => 'logis/check', :locals => {:name => 'perma'} %>
Modified: trunk/app/views/remarks/_list.html.erb
===================================================================
--- trunk/app/views/remarks/_list.html.erb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/app/views/remarks/_list.html.erb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -5,6 +5,12 @@
<%= gravatar_for(remark.user, :class => 'avatar') %>
<%= by_author(remark.user, :length => 13) %>
<p><%= remark.message %></p>
+ <% if current_user == remark.user and local_assigns[:action] == :view %>
+ <%= button_to(t('v.logis.insert_this_remark'),
+ new_logi_logi_inserts_url(@logi, :selected => 'annotation',
+ :insert_remark_id => remark.id),
+ :class => 'insert_button insert_this_button', :tabindex => 1) %>
+ <% end %>
<div class="spacer"></div>
</div>
</div>
Modified: trunk/config/locales/en.yml
===================================================================
--- trunk/config/locales/en.yml 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/config/locales/en.yml 2010-08-15 22:13:05 UTC (rev 1766)
@@ -751,8 +751,10 @@
has_different_tagset: "Logi has a different tag-set."
in_depth_response: "Want to give a more in-depth response?"
incoming_to_tags: "Incoming links to tags"
- insert_into: "Attach something to phrase"
+ insert_into: "Attach something to a phrase"
insert_or_remove: "Attach or detach?"
+ insert_this_logi: "Attach this logi to a phrase"
+ insert_this_remark: "Attach as annotation"
like_tree: "Tags are like a location in a tree, start by setting the most important tag above. If no tag is set, the 'Sandbox' tag will be used."
load_editor: "Expand reply editor"
new_for_tags: "Create a new logi for these tags."
Modified: trunk/public/stylesheets/logilogi.css
===================================================================
--- trunk/public/stylesheets/logilogi.css 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/public/stylesheets/logilogi.css 2010-08-15 22:13:05 UTC (rev 1766)
@@ -568,11 +568,12 @@
#header_content {
float: left;
+ width: 35em; /* for Chrome */
padding-top: 0em;
}
#header_content img {
float: left;
- padding: 1em 0 0 1.4em;
+ padding: 0.8em 0 0 1.4em;
margin: -0.15em 0.8em 0em 0.5em;
}
#users_show #header_content img {
@@ -596,7 +597,7 @@
float: left;
clear: left;
font-size: 1.3em;
- margin-bottom: -1em;
+ margin: 0.1em 0em -1em 0em;
word-spacing: 0.1em;
letter-spacing: 0.05em;
font-variant: small-caps;
@@ -610,33 +611,33 @@
font-style: italic;
color: white;
}
-#sessions {
+#header_box {
+}
+#header_links {
float: right;
padding: 0.2em;
- margin-right: 0.4em;
+ margin-right: 0em;
font-size: 1.4em;
color: white;
white-space: nowrap;
}
-#sessions a {
+#header_links a {
border-bottom: solid 1px;
color: white;
border-color: white;
}
#top_search {
- margin-right: 1em;
+}
+#top_search_query {
float: right;
-}
-#top_search #top_search_query {
- margin-top: 0.4em;
- padding: 0.3em;
- float: left;
+ margin: 0.4em 0.5em 0em 0.3em;
+ padding: 0.35em;
width: 8em;
}
-#top_search #top_search_button {
+#top_search_button {
+ float: right;
margin-top: 0.35em;
- margin-left: 0.5em;
- float: left;
+ margin-right: 1em;
}
/* primary tabs, based on the great ala's sliding doors 2 */
@@ -1367,11 +1368,16 @@
width: 6em;
}
.remark p {
- padding-top: 0.8em;
+ padding: 0.8em 0em 0em 0em;
font-size: 1.2em;
line-height: 1.3em;
text-align: left;
}
+.insert_this_button {
+ font-size: 0.7em;
+ margin: 0.5em -0.3em 0em 0em;
+}
+
/* also see logi for remark color */
/* comments */
Modified: trunk/test/fixtures/remarks.yml
===================================================================
--- trunk/test/fixtures/remarks.yml 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/test/fixtures/remarks.yml 2010-08-15 22:13:05 UTC (rev 1766)
@@ -8,6 +8,11 @@
user: john_johnson
message: 'neat, really! this is the way to go'
created_at: <%= 2.days.ago.to_s(:db) %>
+logi_logi_really_nice:
+ logi: logi_logi
+ user_id: <%= User.anonymous.id %>
+ message: 'Really nice!'
+ created_at: <%= 1.day.ago.to_s(:db) %>
michel_foucault_politics_medieval_peter_abelard_economics_did_you_consider:
logi: michel_foucault_politics_medieval_peter_abelard_economics
user: john_johnson
Modified: trunk/test/functional/annotations_controller_test.rb
===================================================================
--- trunk/test/functional/annotations_controller_test.rb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/test/functional/annotations_controller_test.rb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -44,6 +44,23 @@
assert_equal l_v.raw_title.size + 63, ll_annotation.position_ranges.first.last
end
+ def test_create
+ l = logis(:logi_logi)
+ r_nice_id = remarks(:logi_logi_really_nice).id
+ nr_of_r = l.annotations.size
+ l_v = l.current_logi_version
+ b_t = l_v.body
+ l_r = "LL With Super Cow Powers :)"
+ new_b_t = b_t[0...49] + '<a class="selection" target="' + l_r + '">' +
+ b_t[49...63] + "</a>" + b_t[63...-1]
+ post :create, {:ll_link_string => l.link.to_s,
+ :body_with_inserts => new_b_t,
+ :insert_remark_id => r_nice_id}.merge(self.thorny_ok_hash)
+ assert_response :redirect
+ assert_equal nr_of_r + 1, l.annotations.size
+ assert !Remark.find_by_id(r_nice_id)
+ end
+
def test_create_ender
i = logis(:eduard_edison_user)
assert_insert_annotation(i,'Kuku','<p>I am Eduard, ','I have created','.</p>',36,50)
Added: trunk/test/functional/logi_inserts_controller_test.rb
===================================================================
--- trunk/test/functional/logi_inserts_controller_test.rb (rev 0)
+++ trunk/test/functional/logi_inserts_controller_test.rb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -0,0 +1,43 @@
+#--#
+# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
+#
+# License:
+# This file is part of the LogiLogi program. LogiLogi is Free Software.
+# You can run/distribute/modify LogiLogi under the terms of the GNU Affero
+# General Public License version 3. The Affero GPL states that running a
+# modified version or a derivative work also requires you to make the source
+# code of that work available to everyone that can interact with it. We
+# chose the Affero GPL to ensure that LogiLogi remains open and libre
+# (doc/LICENSE contains the full text of the legally binding license).
+#++#
+
+require File.dirname(__FILE__) + '/../test_helper'
+require 'logi_inserts_controller'
+
+class LogiInsertsControllerTest < ActionController::TestCase
+ fixtures :all
+
+ def setup
+ @controller = LogiInsertsController.new
+ setup_request
+ end
+
+ ### Actions
+
+ # REST-methods
+
+ def test_new
+ get :new, :ll_link_string => logis(:logi_logi).link.to_s
+ assert_response :success
+
+ get :new, :ll_link_string => logis(:logi_logi).link.to_s,
+ :selected => "link", :link_selected => "perma_link",
+ :perma_link => logis(:lubber_sailing).link.to_s
+ assert_response :success
+
+ get :new, :ll_link_string => logis(:logi_logi).link.to_s,
+ :insert_remark_id => remarks(:logi_logi_neat).id.to_s,
+ :selected => "annotation"
+ assert_response :success
+ end
+end
Modified: trunk/test/functional/perma_links_controller_test.rb
===================================================================
--- trunk/test/functional/perma_links_controller_test.rb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/test/functional/perma_links_controller_test.rb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -26,7 +26,6 @@
# REST-methods
-
def test_create
l = logis(:logi_logi)
nr_of_l = l.from_links.size
@@ -39,7 +38,8 @@
b_t[49...63] + "</a>" + b_t[63...-1]
post :create, {:ll_link_string => l.link.to_s,
- :body_with_inserts => new_b_t}.merge(self.thorny_ok_hash)
+ :body_with_inserts => new_b_t,
+ :perma_link => l_l}.merge(self.thorny_ok_hash)
assert_response :redirect
assert_equal nr_of_l + 1, l.from_links.size
@@ -61,7 +61,8 @@
b_t[49...63] + "</a>" + b_t[63...-1]
post :create, {:ll_link_string => l.link.to_s,
- :body_with_inserts => new_b_t}.merge(self.thorny_ok_hash)
+ :body_with_inserts => new_b_t,
+ :perma_link => l_l}.merge(self.thorny_ok_hash)
assert_equal nr_of_l, l.from_links.size # no new link
end
Modified: trunk/test/functional/remarks_controller_test.rb
===================================================================
--- trunk/test/functional/remarks_controller_test.rb 2010-08-15 09:08:14 UTC (rev 1765)
+++ trunk/test/functional/remarks_controller_test.rb 2010-08-15 22:13:05 UTC (rev 1766)
@@ -27,12 +27,14 @@
# REST-methods
def test_create
- assert true
- # TODO
- end
+ l = logis(:logi_logi)
+ nr_of_r = l.remarks.size
- def test_destroy
- assert true
- # TODO
+ post :create, {:ll_link_string => l.link.to_s,
+ :remark => {:message => "Testing remark992"}
+ }.merge(self.thorny_ok_hash)
+
+ assert_response :success
+ assert_equal nr_of_r + 1, l.remarks.size
end
end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-08-15 09:08:20
|
Revision: 1765
http://logilogi.svn.sourceforge.net/logilogi/?rev=1765&view=rev
Author: wybow
Date: 2010-08-15 09:08:14 +0000 (Sun, 15 Aug 2010)
Log Message:
-----------
Small fix to admin report
Modified Paths:
--------------
trunk/app/models/log_log_subscription.rb
Modified: trunk/app/models/log_log_subscription.rb
===================================================================
--- trunk/app/models/log_log_subscription.rb 2010-08-14 09:31:55 UTC (rev 1764)
+++ trunk/app/models/log_log_subscription.rb 2010-08-15 09:08:14 UTC (rev 1765)
@@ -46,7 +46,8 @@
"Sent #{period} to: " + sent_to.join(', ') + "\n" +
"There were #{l_count} new logis")
else
- Notifier.deliver_admin_log(period, sent_to.size,
+ s_count = (sent_to == ['Nobody'] ? 0 : sent_to.size)
+ Notifier.deliver_admin_log(period, s_count,
"Sent personalized #{period} to: " + sent_to.join(', '))
end
end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-08-14 09:32:02
|
Revision: 1764
http://logilogi.svn.sourceforge.net/logilogi/?rev=1764&view=rev
Author: wybow
Date: 2010-08-14 09:31:55 +0000 (Sat, 14 Aug 2010)
Log Message:
-----------
Fix if not using LogLog
Modified Paths:
--------------
trunk/app/helpers/application_helper.rb
Modified: trunk/app/helpers/application_helper.rb
===================================================================
--- trunk/app/helpers/application_helper.rb 2010-08-14 08:04:46 UTC (rev 1763)
+++ trunk/app/helpers/application_helper.rb 2010-08-14 09:31:55 UTC (rev 1764)
@@ -352,17 +352,21 @@
end
def log_log_link(options = {})
- if options[:controller] == 'feed' and options[:channel]
- GlobalConfig.log_log_site + "/channels/" + options[:channel] +
- "/feed.atom"
- else
- raise 'Missing attr'
+ if GlobalConfig.use_log_log?
+ if options[:controller] == 'feed' and options[:channel]
+ GlobalConfig.log_log_site + "/channels/" + options[:channel] +
+ "/feed.atom"
+ else
+ raise 'Missing attr'
+ end
end
end
def log_log_feed_link(options = {})
- url = log_log_link(options.merge(:controller => 'feed'))
- '<div class="rss_link">' + link_to(image_tag('rss.png'), url) + '</div>'
+ if GlobalConfig.use_log_log?
+ url = log_log_link(options.merge(:controller => 'feed'))
+ '<div class="rss_link">' + link_to(image_tag('rss.png'), url) + '</div>'
+ end
end
def crosses_title(score)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-08-14 08:04:52
|
Revision: 1763
http://logilogi.svn.sourceforge.net/logilogi/?rev=1763&view=rev
Author: wybow
Date: 2010-08-14 08:04:46 +0000 (Sat, 14 Aug 2010)
Log Message:
-----------
Fixed some bugs in the Notifier
Modified Paths:
--------------
trunk/app/models/log_log_subscription.rb
trunk/app/models/notifier.rb
trunk/app/views/notifier/admin_log.erb
trunk/config/config.rb.tmpl
Modified: trunk/app/models/log_log_subscription.rb
===================================================================
--- trunk/app/models/log_log_subscription.rb 2010-08-12 20:40:22 UTC (rev 1762)
+++ trunk/app/models/log_log_subscription.rb 2010-08-14 08:04:46 UTC (rev 1763)
@@ -20,7 +20,7 @@
def self.send_out_alerts(period)
sent_to = []
- LogLogSubscription.find_each_by_period(period) do |lls|
+ LogLogSubscription.find_each(:conditions => ['period = "?"', period]) do |lls|
url = URI.parse(GlobalConfig.log_log_site +
"/channels/" + lls.channel + "/periods/" + period + ".txt")
begin
@@ -40,7 +40,7 @@
if sent_to.empty?
sent_to = ['Nobody']
end
- if lls.channel == "logis"
+ if period == "weekly"
l_count = Logi.count(:conditions => 'created_at > "' + 1.week.ago.to_s(:db) + '"')
Notifier.deliver_admin_log(period, sent_to.size,
"Sent #{period} to: " + sent_to.join(', ') + "\n" +
Modified: trunk/app/models/notifier.rb
===================================================================
--- trunk/app/models/notifier.rb 2010-08-12 20:40:22 UTC (rev 1762)
+++ trunk/app/models/notifier.rb 2010-08-14 08:04:46 UTC (rev 1763)
@@ -37,7 +37,7 @@
end
def admin_log(period, s_count, periodical)
- subject t("#{s_count} mailings, #{period} admin update for #{GlobalConfig.site_host}")
+ subject "#{s_count} mailings, #{period} admin update for #{GlobalConfig.site_host}"
from t('m.notifier.notifier', :email => GlobalConfig.noreply_email)
recipients User.admin.email
sent_on Time.now
Modified: trunk/app/views/notifier/admin_log.erb
===================================================================
--- trunk/app/views/notifier/admin_log.erb 2010-08-12 20:40:22 UTC (rev 1762)
+++ trunk/app/views/notifier/admin_log.erb 2010-08-14 08:04:46 UTC (rev 1763)
@@ -1,8 +1,3 @@
<%= t 'v.notifier.dear', :name => User.admin.name %>
-<%= t 'v.notifier.hereby_personalized', :period => @period,
- :domain => GlobalConfig.site_host %>
-
-<%= t 'v.notifier.only_happened' %>
-
<%= @periodical %>
Modified: trunk/config/config.rb.tmpl
===================================================================
--- trunk/config/config.rb.tmpl 2010-08-12 20:40:22 UTC (rev 1762)
+++ trunk/config/config.rb.tmpl 2010-08-14 08:04:46 UTC (rev 1763)
@@ -114,7 +114,7 @@
# The following setting is resolved from this one:
# :daily_fraction
#
- :half_life => 7,
+ :half_life => 28,
# The age in days at which memberships that have no power from
# posts anymore are dropped.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-08-12 20:40:28
|
Revision: 1762
http://logilogi.svn.sourceforge.net/logilogi/?rev=1762&view=rev
Author: wybow
Date: 2010-08-12 20:40:22 +0000 (Thu, 12 Aug 2010)
Log Message:
-----------
Small fixes, and auto-subscribe on signup.
Modified Paths:
--------------
trunk/app/models/user.rb
trunk/app/views/notifier/logis_log.erb
trunk/app/views/notifier/personalized_log.erb
Modified: trunk/app/models/user.rb
===================================================================
--- trunk/app/models/user.rb 2010-08-11 20:50:25 UTC (rev 1761)
+++ trunk/app/models/user.rb 2010-08-12 20:40:22 UTC (rev 1762)
@@ -57,7 +57,7 @@
validate :name_not_reserved, :normalize_openid_identifier
before_create :assert_persistence_token, :set_blog_title
after_create :create_personal_user_group, :create_prefs_profiles,
- :create_home_page, :log_create_to_log_log
+ :create_home_page, :create_subscriptions, :log_create_to_log_log
before_destroy :reset_dependents
after_destroy :destroy_home_pages
@@ -264,6 +264,17 @@
return true
end
+ # Subscribes the user to the daily and weekly mailings
+ #
+ def create_subscriptions
+ ll_s_w = LogLogSubscription.new(:user => self,
+ :channel => "logis", :period => "weekly")
+ ll_s_w.save
+ ll_s_d = LogLogSubscription.new(:user => self,
+ :channel => "for_" + self.unix_name, :period => "daily")
+ ll_s_d.save
+ end
+
# Logs creation to log.logilogi.org
#
def log_create_to_log_log
Modified: trunk/app/views/notifier/logis_log.erb
===================================================================
--- trunk/app/views/notifier/logis_log.erb 2010-08-11 20:50:25 UTC (rev 1761)
+++ trunk/app/views/notifier/logis_log.erb 2010-08-12 20:40:22 UTC (rev 1762)
@@ -8,4 +8,4 @@
---
<%= t 'v.notifier.unsubscribe', :period => @period %>
-<%= edit_user_url(current_user) %>
+<%= edit_user_url(@user, :host => GlobalConfig.site_host) %>
Modified: trunk/app/views/notifier/personalized_log.erb
===================================================================
--- trunk/app/views/notifier/personalized_log.erb 2010-08-11 20:50:25 UTC (rev 1761)
+++ trunk/app/views/notifier/personalized_log.erb 2010-08-12 20:40:22 UTC (rev 1762)
@@ -6,3 +6,8 @@
<%= t 'v.notifier.only_happened' %>
<%= @periodical %>
+
+---
+
+<%= t 'v.notifier.unsubscribe', :period => @period %>
+<%= edit_user_url(@user, :host => GlobalConfig.site_host) %>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-08-11 20:50:33
|
Revision: 1761
http://logilogi.svn.sourceforge.net/logilogi/?rev=1761&view=rev
Author: wybow
Date: 2010-08-11 20:50:25 +0000 (Wed, 11 Aug 2010)
Log Message:
-----------
Added loglog subscriptions to preferences, and numerous smaller fixes
Modified Paths:
--------------
trunk/app/controllers/comments_controller.rb
trunk/app/controllers/logis_controller.rb
trunk/app/controllers/users_controller.rb
trunk/app/models/commenting.rb
trunk/app/models/log_log_subscription.rb
trunk/app/models/logi.rb
trunk/app/models/notifier.rb
trunk/app/models/peer_group_membership.rb
trunk/app/models/remark.rb
trunk/app/models/user.rb
trunk/app/models/vote.rb
trunk/app/views/changes/_new_logis.html.erb
trunk/app/views/changes/_recently_changed_logis.html.erb
trunk/app/views/layouts/user_page.html.erb
trunk/app/views/logis/_new_logis.html.erb
trunk/app/views/users/_unfoldable_editor.html.erb
trunk/app/views/users/edit.html.erb
trunk/config/locales/de.yml
trunk/config/locales/en.yml
trunk/db/schema.rb
trunk/lib/tasks/server.rake
trunk/public/stylesheets/logilogi.css
trunk/test/fixtures/peer_group_memberships.yml
trunk/test/fixtures/ratings.yml
trunk/test/fixtures/votes.yml
trunk/test/functional/comments_controller_test.rb
trunk/test/functional/users_controller_test.rb
trunk/test/unit/notifier_test.rb
trunk/test/unit/peer_group_membership_test.rb
trunk/test/unit/rating_test.rb
Added Paths:
-----------
trunk/app/views/notifier/admin_log.erb
trunk/app/views/notifier/logis_log.erb
trunk/app/views/notifier/personalized_log.erb
trunk/app/views/users/_feed.html.erb
trunk/app/views/users/_side_panel.html.erb
trunk/db/migrate/20100731183726_add_log_log_subscriptions.rb
trunk/db/migrate/20100810151704_redo_indices.rb
trunk/db/migrate/20100810165341_restore_public_peergroup_memberships.rb
trunk/lib/tasks/log.rake
Removed Paths:
-------------
trunk/app/controllers/main_page_controller.rb
trunk/app/views/notifier/for_log.erb
trunk/app/views/users/_remarks_and_activity.html.erb
Modified: trunk/app/controllers/comments_controller.rb
===================================================================
--- trunk/app/controllers/comments_controller.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/controllers/comments_controller.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -34,7 +34,7 @@
alias :show :new
def create
- @from_blog = (params[:from_blog] ? true : false)
+ @from_blog = (params[:from_blog] == "true" ? true : false)
if params[:perma_link]
@link = Link.new_from_s(params[:perma_link])
@link.resolve
Modified: trunk/app/controllers/logis_controller.rb
===================================================================
--- trunk/app/controllers/logis_controller.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/controllers/logis_controller.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -351,8 +351,8 @@
def new_logis
if !current_context.link?
- @new_logis_count = Logi.count(:conditions => 'created_at > "' +
- 1.week.ago.to_s(:db) + '"')
+ @new_logis_count = Logi.count(:conditions =>
+ 'created_at > "' + 1.week.ago.to_s(:db) + '"')
@logis = Logi.recent.presentable.paginate(:page => params[:page],
:per_page => 7)
end
Deleted: trunk/app/controllers/main_page_controller.rb
===================================================================
--- trunk/app/controllers/main_page_controller.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/controllers/main_page_controller.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -1,112 +0,0 @@
-#--#
-# Copyright: (c) 2006-2009 The LogiLogi Foundation <fou...@lo...>
-#
-# License:
-# This file is part of the LogiLogi program. LogiLogi is Free Software.
-# You can run/distribute/modify LogiLogi under the terms of the GNU Affero
-# General Public License version 3. The Affero GPL states that running a
-# modified version or a derivative work also requires you to make the source
-# code of that work available to everyone that can interact with it. We
-# chose the Affero GPL to ensure that LogiLogi remains open and libre
-# (doc/LICENSE contains the full text of the legally binding license).
-#++#
-
-class MainPageController < ApplicationController
- ### Layout
-
- layout 'main'
-
- ### Filters
-
- before_filter :page_name
-
- ### Bodies
-
- # see the BodyBuilder plugin.
- #
- # :head and :side are already set in application
-
- body_parts :content
-
- content_body :description, :new_logis,
- : :index
- side_body :tags, :new_users,
- : :index
-
- ### REST-methods
-
- def index
- @selected = params[:selected]
- respond_to do |format|
- format.html
- format.js do
- select_body(@selected)
- end
- end
- end
-
- ### Tabbed methods
-
- def tags
- @used_tags = UsedTag.top_used_tags(:limit => 57,
- :no_special => true)
- render_ajax_body :partial => 'cloud.html.erb',
- :locals => {:selected => @selected}
- end
-
- def users
- @top_users = User.top_users(:limit => 57)
- render_ajax_body :partial => 'cloud.html.erb',
- :locals => {:selected => @selected}
- end
-
- def groups
- @top_peer_groups = PeerGroup.top_peer_groups(:limit => 57)
- render_ajax_body :partial => 'cloud.html.erb',
- :locals => {:selected => @selected}
- end
-
- def recently_changed_logis
- @recently_changed_logis_count = LogiVersion.count(
- :conditions => 'created_at > "' + 1.week.ago.to_s(:db) + '"')
- @logis = Logi.paginate_recent_changes(:page => params[:page],
- :per_page => 15)
- render_ajax_body :partial => 'recent_or_new_logis.html.erb',
- :locals => {:selected => @selected}
- end
-
- def new_logis
- @new_logis_count = Logi.count(:conditions => 'created_at > "' +
- 1.week.ago.to_s(:db) + '"')
- @logis = Logi.recent.presentable.paginate(:page => params[:page],
- :per_page => 7)
- render_ajax_body :partial => 'recent_or_new_logis.html.erb',
- :locals => {:selected => @selected}
- end
-
- def new_users
- @users = User.find(:all, :order => 'created_at DESC', :limit => 15)
- @new_users_count = User.count(:conditions => 'created_at > "' +
- 1.week.ago.to_s(:db) + '"')
- render_ajax_body :partial => 'new_users_or_groups.html.erb',
- :locals => {:selected => @selected}
- end
-
- def new_groups
- @peer_groups = PeerGroup.find(:all, :order => 'created_at DESC',
- :limit => 10)
- @new_groups_count = PeerGroup.count(:conditions => 'created_at > "' +
- 1.month.ago.to_s(:db) + '"')
- render_ajax_body :partial => 'new_users_or_groups.html.erb',
- :locals => {:selected => @selected}
- end
-
- ### Body-methods
-
- protected
-
- def description
- render_body 'logis/small_snippet',
- :locals => {:logi => Logi.main_page, :id => 'site_description'}
- end
-end
Modified: trunk/app/controllers/users_controller.rb
===================================================================
--- trunk/app/controllers/users_controller.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/controllers/users_controller.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -30,13 +30,13 @@
# :head, :top and :side are already set in application
- side_body :about, :remarks_and_activity,
+ side_body :about, :side_panel,
: :show
### Methods
def show
- @logis = Logi.recent.presentable.created_by_user(@user).paginate(
+ @logis = Logi.recent.created_by_user(@user).paginate(
:page => params[:page], :per_page => 9)
respond_to do |format|
format.html do
@@ -87,6 +87,7 @@
def edit
@prefs_profile = @user.default_prefs_profile
+ self.read_log_log_subscriptions
end
def update
@@ -119,6 +120,22 @@
flash[:error] = t 'c.users.error_updating_settings'
render :action => 'edit'
end
+ elsif params[:log_log_subscription]
+ self.read_log_log_subscriptions
+ @subscriptions.each_pair do |name, subscription|
+ if params[:log_log_subscription][name]
+ if !subscription
+ channel = (name == :personalized_log ? "for_" + @user.unix_name : "logis")
+ ll_s = LogLogSubscription.new(:user => @user, :channel => channel,
+ :period => (name == :personalized_log ? "daily" : "weekly"))
+ ll_s.save
+ end # else do nothing
+ elsif subscription
+ subscription.destroy
+ end
+ end
+ flash[:notice] = t 'c.users.settings_updated'
+ redirect_to return_url_or_default(user_url(@user))
end
end
@@ -153,7 +170,7 @@
:locals => {:logi => @logi, :id => 'site_description'}
end
- def remarks_and_activity
+ def side_panel
@remark = Remark.new
@remarks = @logi.remarks.find(:all,
:limit => 10, :order => ["created_at DESC"])
@@ -184,4 +201,15 @@
return false
end
end
+
+ ### Helper methods
+
+ def read_log_log_subscriptions
+ @subscriptions = {}
+ [:personalized_log, :logis_log].each do |name|
+ channel = (name == :personalized_log ? "for_" + @user.unix_name : "logis")
+ @subscriptions[name] = LogLogSubscription.find_by_user_id_and_channel(
+ @user, channel)
+ end
+ end
end
Modified: trunk/app/models/commenting.rb
===================================================================
--- trunk/app/models/commenting.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/models/commenting.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -36,10 +36,16 @@
def log_create_to_log_log
if GlobalConfig.use_log_log
# Has reply
+ # four previous replyers and logi creator receive notice
+ comments = self.from_logi.commenting_logis.find(:all,
+ :limit => 5, :order => ["created_at DESC"])
+ names = [self.from_logi.creator.unix_name] +
+ comments[1..-1].collect {|l| l.creator.unix_name}
+ channels = ['all', 'replies'] +
+ names.uniq.collect {|n| 'for_' + n}
m = LogLogMessage.new(
:kind => "Reply",
- :channel_names => ['all', 'replies',
- 'for_' + self.from_logi.creator.unix_name].join(','),
+ :channel_names => channels.join(','),
:title => 'Received:' + self.to_logi.current_title,
:author => self.user.name,
:text => self.to_logi.current_snippet,
Modified: trunk/app/models/log_log_subscription.rb
===================================================================
--- trunk/app/models/log_log_subscription.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/models/log_log_subscription.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -20,14 +20,18 @@
def self.send_out_alerts(period)
sent_to = []
- User.find_each do |user|
+ LogLogSubscription.find_each_by_period(period) do |lls|
url = URI.parse(GlobalConfig.log_log_site +
- "/channels/for_" + user.unix_name + "/periods/" + period + ".txt")
+ "/channels/" + lls.channel + "/periods/" + period + ".txt")
begin
page = Net::HTTP.get_response(url)
periodical = page.body
if periodical =~ /[^\s]/
- Notifier.deliver_for_log(user, period, periodical)
+ if lls.channel == "logis"
+ Notifier.deliver_logis_log(user, period, periodical)
+ else
+ Notifier.deliver_personalized_log(user, period, periodical)
+ end
sent_to << user.name
end
rescue
@@ -36,7 +40,14 @@
if sent_to.empty?
sent_to = ['Nobody']
end
- Notifier.deliver_for_log(User.admin, period,
- 'Sent to: ' + sent_to.join(', '))
+ if lls.channel == "logis"
+ l_count = Logi.count(:conditions => 'created_at > "' + 1.week.ago.to_s(:db) + '"')
+ Notifier.deliver_admin_log(period, sent_to.size,
+ "Sent #{period} to: " + sent_to.join(', ') + "\n" +
+ "There were #{l_count} new logis")
+ else
+ Notifier.deliver_admin_log(period, sent_to.size,
+ "Sent personalized #{period} to: " + sent_to.join(', '))
+ end
end
end
Modified: trunk/app/models/logi.rb
===================================================================
--- trunk/app/models/logi.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/models/logi.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -94,7 +94,8 @@
named_scope :recent, :order => 'created_at DESC'
if GlobalConfig.available?
named_scope :presentable,
- :conditions => 'tags_string != "' + Tag.sandbox.to_s + '"'
+ :conditions => 'kind = ' + Const::Logi::KINDS[:normal].to_s + ' ' +
+ 'AND tags_string != "' + Tag.sandbox.to_s + '"'
end
###### Filters
@@ -497,11 +498,10 @@
# Logs creation to log.logilogi.org
#
def log_create_to_log_log
- if GlobalConfig.use_log_log
+ if GlobalConfig.use_log_log and !self.home_page?
m = LogLogMessage.new(
:kind => "Logi",
:channel_names => ['all','logis',
- 'for_' + self.creator.unix_name,
'by_' + self.creator.unix_name].join(','),
:title => self.current_title,
:author => self.creator.name,
Modified: trunk/app/models/notifier.rb
===================================================================
--- trunk/app/models/notifier.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/models/notifier.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -14,8 +14,8 @@
class Notifier < ActionMailer::Base
### Mailers
- def for_log(user, period, periodical)
- subject t('m.notifier.update_for', :name => user.name,
+ def personalized_log(user, period, periodical)
+ subject t('m.notifier.update_personalized', :name => user.name,
:domain => GlobalConfig.site_host)
from t('m.notifier.notifier', :email => GlobalConfig.noreply_email)
recipients user.email
@@ -25,6 +25,26 @@
:periodical => periodical
end
+ def logis_log(user, period, periodical)
+ subject t('m.notifier.update_logis', :period => period.humanize,
+ :domain => GlobalConfig.site_host)
+ from t('m.notifier.notifier', :email => GlobalConfig.noreply_email)
+ recipients user.email
+ sent_on Time.now
+ body :user => user,
+ :period => period,
+ :periodical => periodical
+ end
+
+ def admin_log(period, s_count, periodical)
+ subject t("#{s_count} mailings, #{period} admin update for #{GlobalConfig.site_host}")
+ from t('m.notifier.notifier', :email => GlobalConfig.noreply_email)
+ recipients User.admin.email
+ sent_on Time.now
+ body :period => period,
+ :periodical => periodical
+ end
+
def welcome(user)
subject t('m.notifier.welcome', :name => user.name,
:domain => GlobalConfig.site_host)
Modified: trunk/app/models/peer_group_membership.rb
===================================================================
--- trunk/app/models/peer_group_membership.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/models/peer_group_membership.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -78,12 +78,11 @@
#
def self.drop_the_powerless
PeerGroupMembership.find_each(
- :conditions => 'power <= ' + PeerGroupMembership.member_power.to_s +
+ :conditions => 'peer_group_id != ' + PeerGroup.public.id.to_s +
+ ' AND power <= ' + PeerGroupMembership.member_power.to_s +
' AND updated_at > "' + GlobalConfig.powerless_age.days.ago.to_s(:db) +
'"') do |membership|
- if membership.user != User.anonymous
- membership.destroy
- end
+ membership.destroy
end
end
Modified: trunk/app/models/remark.rb
===================================================================
--- trunk/app/models/remark.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/models/remark.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -42,10 +42,16 @@
#
def log_create_to_log_log
if GlobalConfig.use_log_log
+ # four previous replyers and logi creator receive notice
+ remarks = self.logi.remarks.find(:all,
+ :limit => 5, :order => ["created_at DESC"])
+ names = [self.logi.creator.unix_name] +
+ remarks[1..-1].collect {|r| r.user.unix_name}
+ channels = ['all', 'remarks'] +
+ names.uniq.collect {|n| 'for_' + n}
m = LogLogMessage.new(
:kind => "Remark",
- :channel_names => ['all', 'remarks',
- 'for_' + self.logi.creator.unix_name].join(','),
+ :channel_names => channels.join(','),
:author => self.user.name,
:title => 'On: ' + self.logi.current_title,
:text => self.message,
Modified: trunk/app/models/user.rb
===================================================================
--- trunk/app/models/user.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/models/user.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -48,6 +48,7 @@
has_many :invitations, :dependent => :destroy
has_many :user_groups, :through => :user_group_memberships
has_many :peer_groups, :through => :peer_group_memberships
+ has_many :log_log_subscriptions
### Filters
@@ -55,7 +56,8 @@
# see HomePageModule and UnixNameModule
validate :name_not_reserved, :normalize_openid_identifier
before_create :assert_persistence_token, :set_blog_title
- after_create :create_personal_user_group, :create_prefs_profiles, :create_home_page
+ after_create :create_personal_user_group, :create_prefs_profiles,
+ :create_home_page, :log_create_to_log_log
before_destroy :reset_dependents
after_destroy :destroy_home_pages
@@ -262,6 +264,23 @@
return true
end
+ # Logs creation to log.logilogi.org
+ #
+ def log_create_to_log_log
+ if GlobalConfig.use_log_log
+ m = LogLogMessage.new(
+ :kind => "User",
+ :channel_names => ['all','users',
+ 'by_' + self.unix_name].join(','),
+ :title => 'Welcome: ' + self.name,
+ :author => self,
+ :text => self.name + ' created an account.',
+ :url => GlobalConfig.site_url + "users/" +
+ self.home_page_tag_string)
+ m.save
+ end
+ end
+
# Destroys the home of the user.
#
def destroy_home_pages
Modified: trunk/app/models/vote.rb
===================================================================
--- trunk/app/models/vote.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/models/vote.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -28,7 +28,6 @@
# for validation messages
I18n.locale = GlobalConfig.language_code if GlobalConfig.available?
- validates_uniqueness_of :user_id, :scope => :rating_id
validates_inclusion_of :score, :in => -2..5, :message => t('defaults.error_bounds')
### Filters
Modified: trunk/app/views/changes/_new_logis.html.erb
===================================================================
--- trunk/app/views/changes/_new_logis.html.erb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/views/changes/_new_logis.html.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -1,6 +1,7 @@
<div id="new_logis">
<% render :layout => 'application/panel_with_header',
:locals => {:title => t('v.changes.new_logis'),
+ :link => log_log_feed_link(:channel => 'logis'),
:id => "recenting"} do %>
<%= will_paginate @logis, :params => {:selected => 'new_logis'},
:class => 'pagination' %>
Modified: trunk/app/views/changes/_recently_changed_logis.html.erb
===================================================================
--- trunk/app/views/changes/_recently_changed_logis.html.erb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/views/changes/_recently_changed_logis.html.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -1,6 +1,7 @@
<div id="recently_changed_logis">
<% render :layout => 'application/panel_with_header',
:locals => {:title => t('v.changes.recent_changes'),
+ :link => log_log_feed_link(:channel => 'changes'),
:id => "recenting"} do %>
<%= will_paginate @logis, :params => {:selected => 'recently_changed_logis'},
:class => 'pagination' %>
Modified: trunk/app/views/layouts/user_page.html.erb
===================================================================
--- trunk/app/views/layouts/user_page.html.erb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/views/layouts/user_page.html.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -7,6 +7,7 @@
<%= yield :top_body %>
<div class="main_column">
+ <%= show_flash %>
<%= yield %>
</div>
Modified: trunk/app/views/logis/_new_logis.html.erb
===================================================================
--- trunk/app/views/logis/_new_logis.html.erb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/views/logis/_new_logis.html.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -1,6 +1,7 @@
<% render :layout => 'application/panel_with_header',
:locals => {:title => t('v.main_page.logis_just'),
- :id => "recenting"} do %>
+ :link => log_log_feed_link(:channel => 'logis'),
+ :id => "recenting"} do %>
<p class="one_line">
<%= link_to t('v.main_page.view_all_new_logis'),
changes_url(:selected => :new_logis) %>
Added: trunk/app/views/notifier/admin_log.erb
===================================================================
--- trunk/app/views/notifier/admin_log.erb (rev 0)
+++ trunk/app/views/notifier/admin_log.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -0,0 +1,8 @@
+<%= t 'v.notifier.dear', :name => User.admin.name %>
+
+<%= t 'v.notifier.hereby_personalized', :period => @period,
+ :domain => GlobalConfig.site_host %>
+
+<%= t 'v.notifier.only_happened' %>
+
+<%= @periodical %>
Deleted: trunk/app/views/notifier/for_log.erb
===================================================================
--- trunk/app/views/notifier/for_log.erb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/views/notifier/for_log.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -1,8 +0,0 @@
-<%= t 'v.notifier.dear', :name => @user.name %>
-
-<%= t 'v.notifier.hereby_personalized', :period => @period,
- :domain => GlobalConfig.site_host %>
-
-<%= t 'v.notifier.only_happened' %>
-
-<%= @periodical %>
Added: trunk/app/views/notifier/logis_log.erb
===================================================================
--- trunk/app/views/notifier/logis_log.erb (rev 0)
+++ trunk/app/views/notifier/logis_log.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -0,0 +1,11 @@
+<%= t 'v.notifier.dear', :name => @user.name %>
+
+<%= t 'v.notifier.hereby_logis', :period => @period,
+ :domain => GlobalConfig.site_host %>
+
+<%= @periodical %>
+
+---
+
+<%= t 'v.notifier.unsubscribe', :period => @period %>
+<%= edit_user_url(current_user) %>
Copied: trunk/app/views/notifier/personalized_log.erb (from rev 1758, trunk/app/views/notifier/for_log.erb)
===================================================================
--- trunk/app/views/notifier/personalized_log.erb (rev 0)
+++ trunk/app/views/notifier/personalized_log.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -0,0 +1,8 @@
+<%= t 'v.notifier.dear', :name => @user.name %>
+
+<%= t 'v.notifier.hereby_personalized', :period => @period,
+ :domain => GlobalConfig.site_host %>
+
+<%= t 'v.notifier.only_happened' %>
+
+<%= @periodical %>
Added: trunk/app/views/users/_feed.html.erb
===================================================================
--- trunk/app/views/users/_feed.html.erb (rev 0)
+++ trunk/app/views/users/_feed.html.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -0,0 +1,5 @@
+<% render :layout => 'application/panel_with_header', :locals => {
+ :title => t('v.users.subscribe'), :id => "user_rss"} do %>
+ <div class="user_feed"><p><%= t 'v.users.feed_label' %></p></div> <%=
+ log_log_feed_link(:channel => 'by_' + @user.unix_name) %>
+<% end %>
Deleted: trunk/app/views/users/_remarks_and_activity.html.erb
===================================================================
--- trunk/app/views/users/_remarks_and_activity.html.erb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/views/users/_remarks_and_activity.html.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -1,12 +0,0 @@
-<div class="spacer"></div>
-<div class="sub_column_one">
- <div id="remarks">
- <%= render :partial => "logis/remarks" %>
- </div>
-</div>
-
-<div class="sub_column_two">
- <div id="votes">
- <%= render :partial => "activity", :locals => {:user => @user} %>
- </div>
-</div>
Copied: trunk/app/views/users/_side_panel.html.erb (from rev 1758, trunk/app/views/users/_remarks_and_activity.html.erb)
===================================================================
--- trunk/app/views/users/_side_panel.html.erb (rev 0)
+++ trunk/app/views/users/_side_panel.html.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -0,0 +1,16 @@
+<div class="spacer"></div>
+<div class="sub_column_one">
+ <div id="remarks">
+ <%= render :partial => "logis/remarks" %>
+ </div>
+</div>
+
+<div class="sub_column_two">
+ <div id="activity">
+ <%= render :partial => "activity", :locals => {:user => @user} %>
+ </div>
+
+ <div id="feed">
+ <%= render :partial => "feed", :locals => {:user => @user} %>
+ </div>
+</div>
Modified: trunk/app/views/users/_unfoldable_editor.html.erb
===================================================================
--- trunk/app/views/users/_unfoldable_editor.html.erb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/views/users/_unfoldable_editor.html.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -6,7 +6,7 @@
<div class="spacer"></div>
<%= toggle_button_to_remote t('v.logis.load_editor'), {
:update => "comment_area", :url => new_logi_comments_url(@logi,
- :from_blog => 'true'), :method => :get},
+ :from_blog => true), :method => :get},
:class => 'unfold_button', :disabled => local_assigns[:unfold_disabled],
:tabindex => 3 %>
<% javascript_tag do -%>
Modified: trunk/app/views/users/edit.html.erb
===================================================================
--- trunk/app/views/users/edit.html.erb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/app/views/users/edit.html.erb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -36,34 +36,55 @@
<% end %>
-->
<% render :layout => 'application/panel_with_header', :locals => {
+ :title => t('v.users.personal_rss'), :id => "personal_rss"} do %>
+ <p><%= t('v.users.your_rss_updated') %></p>
+ <div class="your_feed"><p><%= t 'v.users.link_label' %></p></div> <%=
+ log_log_feed_link(:channel => 'for_' + current_user.unix_name) %>
+ <% end %>
+
+ <% render :layout => 'application/panel_with_header', :locals => {
+ :title => t('v.users.mail_alerts')} do %>
+ <% form_for(@user, :html => {:id => "alerts_form"}) do |form| %>
+ <%= hidden_field_tag "log_log_subscription[updating]", true %>
+ <div class="field">
+ <%= check_box_tag "log_log_subscription[personalized_log]", 1,
+ (@subscriptions[:personalized_log] ? "true" : nil), :tabindex => 1 %>
+ <label><%= t 'v.users.daily_mailing_field' %></label><br />
+ <p><%= t 'v.users.daily_personalized' %></p>
+ </div>
+ <div class="field">
+ <%= check_box_tag "log_log_subscription[logis_log]", 1,
+ (@subscriptions[:logis_log] ? "true" : nil), :tabindex => 2 %>
+ <label><%= t 'v.users.weekly_mailing_field' %></label><br />
+ <p><%= t 'v.users.weekly_logis' %></p>
+ </div>
+ <%= form.submit t('defaults.save'), :tabindex => 3 %>
+ <%= cancel_button %>
+ <% end %>
+ <% end %>
+
+ <% render :layout => 'application/panel_with_header', :locals => {
:title => t('v.users.settings')} do %>
- <% form_for(@user, :html => {:id => "email_form"}) do |form| %>
+ <% form_for(@user, :html => {:id => "settings_form"}) do |form| %>
<p><%= t('v.users.set_avatar') + ' ' + link_to(t('defaults.click_here'),
"http://gravatar.com/signup") %></p>
<p><%= t('v.users.leave_blank') %></p>
<%= form.text_field :email,
- :label => t('defaults.email_label'), :tabindex => 1 %>
+ :label => t('defaults.email_label'), :tabindex => 4 %>
<%= form.password_field :password,
- :label => t('defaults.password_label'), :tabindex => 2 %>
+ :label => t('defaults.password_label'), :tabindex => 5 %>
<%= form.password_field :password_confirmation,
- :label => t('defaults.password_confirmation_label'), :tabindex => 3 %>
+ :label => t('defaults.password_confirmation_label'), :tabindex => 6 %>
<%= form.text_field :openid_identifier,
- :label => t('defaults.openid_label'), :tabindex => 4 %>
+ :label => t('defaults.openid_label'), :tabindex => 7 %>
<%= form.text_field :blog_title,
- :label => t('defaults.blog_title_label'), :tabindex => 5 %>
- <%= form.submit t('defaults.save'), :tabindex => 6 %>
+ :label => t('defaults.blog_title_label'), :tabindex => 8 %>
+ <%= form.submit t('defaults.save'), :tabindex => 9 %>
<%= cancel_button %>
<% end %>
<% end %>
<% render :layout => 'application/panel_with_header', :locals => {
- :title => t('v.users.personal_rss'), :id => "personal_rss"} do %>
- <p><%= t('v.users.your_rss_updated') %></p>
- <div class="your_feed"><p><%= t 'v.users.link_label' %></p></div> <%=
- log_log_feed_link(:channel => 'for_' + current_user.unix_name) %>
- <% end %>
-
- <% render :layout => 'application/panel_with_header', :locals => {
:title => t('v.users.api_key')} do %>
<p><%= t('v.users.use_api') %></p>
<p><%= t('v.users.api_key_is_label') %> <%= current_user.single_access_token %></p>
Modified: trunk/config/locales/de.yml
===================================================================
--- trunk/config/locales/de.yml 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/config/locales/de.yml 2010-08-11 20:50:25 UTC (rev 1761)
@@ -456,7 +456,7 @@
notifier: "Benachrichtigung durch LogiLogi: <{{email}}>."
password_reset: "Beschreibung, um das Kennwort zurückzusetzen."
sir_madam: Frau/Herr
- update_for: "Änderung für {{name}} auf ((domain))."
+ update_for: "Änderung für {{name}} auf {{domain}}."
welcome: "Willkommen bei {{domain}} {{name}}."
peer_group:
home_body: "Dies ist das Logi der Gruppe {{name}}."
Modified: trunk/config/locales/en.yml
===================================================================
--- trunk/config/locales/en.yml 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/config/locales/en.yml 2010-08-11 20:50:25 UTC (rev 1761)
@@ -292,7 +292,7 @@
all: All
are_you_sure: "Are you sure?"
back: Back
- blog_title_label: "Logi blog title"
+ blog_title_label: "Logi blog title:"
cancel: Cancel
check_length_exeeded: "You've exceeded the maximum length by {{size}} characters!"
check_length_max: "The maximum length is {{max}} characters. You already use {{size}}."
@@ -449,6 +449,7 @@
notifier: "LogiLogi Notifier <{{email}}>."
password_reset: "Password reset instructions."
update_for: "Update for {{name}} on {{domain}}."
+ update_logis: "{{period}} new logis on {{domain}}."
welcome: "Welcome to {{domain}} {{name}}."
peer_group:
home_body: "This is the homepage of the {{name}} peergroup."
@@ -813,6 +814,7 @@
for_information_visit: "For more information on the {{group_name}} peergroup, visit its group page on:"
happy_welcome: "We are happy to welcome you to {{domain}}."
hereby_personalized: "Hereby your personalized {{period}} update for {{domain}}."
+ hereby_logis: "Hereby the {{period}} listing of new logis available on {{domain}}."
invited_co_founder: "{{creator_name}} has invited you to become co-founder of the {{group_name}} peergroup on {{domain}}."
invited_join: "{{creator_name}} has invited you to join the {{group_name}} peergroup on {{domain}}."
like_accept: "If you would like to accept this invitation, then visit:"
@@ -828,6 +830,7 @@
please_contact: "If you encounter any problem please contact us at {{admin_email}}."
reset_request: "A request to reset your password for {{domain}} has been made."
sir_madam: Sir/Madam
+ unsubscribe: "If you want to unsubscribe from this {{period}} mailing, you can do so at:"
user_page_is: "Your user-page on LogiLogi is:"
password_resets:
be_emailed: "Instructions to reset your password will be emailed to you."
@@ -918,6 +921,8 @@
change_account_settings: "You can change your account settings."
create_edit_invite_peer_groups: "Create, edit and invite people to peergroups."
created_logis_label: "Created logis:"
+ daily_personalized: "Mailing when your logis are rated, annotated or receive comments. Sent daily at most."
+ daily_mailing_field: "Personal alerts"
default_peer_group: "Default peergroup"
delete_account: "Delete your account"
delete_account_anonymous: "If you delete your account, your logis will become anonymous."
@@ -928,12 +933,15 @@
email_label: "Email:"
enter_new: "Enter your full name, your email and a password."
full_name_label: "Full name:"
+ subscribe: "Subscribe"
+ feed_label: "RSS feed:"
index: "Users index"
invite_to_peer_groups: "You can invite people to peergroups that you're a member of."
leave_blank: "Leave blank/unchanged any field you don't want to change."
link_label: "Link:"
new_logi: "New logi"
normal: Normal
+ mail_alerts: "Mail alerts"
openid_here: "If you don't have an {{explain_open}}OpenID{{link_close}} yet, you can sign up for one {{signup_open}}here{{link_close}}"
or_signup_openid: "Or signup with OpenID."
password_confirmation_label: "Password confirmation:"
@@ -948,6 +956,8 @@
signup_new: "Signup for a new account."
signup_openid: "Signup with an OpenID."
use_api: "You can use our API to remotely post and update logis."
+ weekly_logis: "Weekly listing of new logis"
+ weekly_mailing_field: "Weekly update"
with_openid: "With OpenID"
your_rss_updated: "Your RSS-feed is updated whenever something happens related to your logis (annotations, votes, updates, ...)."
votes:
Added: trunk/db/migrate/20100731183726_add_log_log_subscriptions.rb
===================================================================
--- trunk/db/migrate/20100731183726_add_log_log_subscriptions.rb (rev 0)
+++ trunk/db/migrate/20100731183726_add_log_log_subscriptions.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -0,0 +1,30 @@
+class AddLogLogSubscriptions < ActiveRecord::Migration
+ def self.up
+ create_table :log_log_subscriptions do |t|
+ t.references :user, :null => false
+ t.string :channel, :null => false
+ t.string :period, :null => false
+ end
+
+ if GlobalConfig.available?
+ AddLogLogSubscriptions.update
+ end
+ end
+
+ def self.down
+ raise "No way back"
+ end
+
+ def self.update
+ User.find_each do |user|
+ personal_lls = LogLogSubscription.new(:user => user,
+ :channel => "for_" + user.unix_name,
+ :period => "daily")
+ personal_lls.save
+ logis_lls = LogLogSubscription.new(:user => user,
+ :channel => "logis",
+ :period => "weekly")
+ logis_lls.save
+ end
+ end
+end
Added: trunk/db/migrate/20100810151704_redo_indices.rb
===================================================================
--- trunk/db/migrate/20100810151704_redo_indices.rb (rev 0)
+++ trunk/db/migrate/20100810151704_redo_indices.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -0,0 +1,35 @@
+class RedoIndices < ActiveRecord::Migration
+ def self.up
+ remove_index(:votes, :name => "index_votes_on_user_id_and_rating_id")
+ add_index(:annotations, :logi_id)
+ add_index(:commentings, [:from_logi_id, :to_logi_id])
+ add_index(:commentings, :from_logi_id)
+ add_index(:commentings, :to_logi_id)
+ add_index(:external_links, :logi_id)
+ add_index(:invitations, :user_id)
+ add_index(:link_matches, :logi_id)
+ add_index(:links, [:from_logi_id, :to_logi_id])
+ add_index(:links, :from_logi_id)
+ add_index(:links, :to_logi_id)
+ add_index(:log_log_subscriptions, :user_id)
+ add_index(:log_log_subscriptions, :period)
+ add_index(:logi_versions, :logi_id)
+ add_index(:logis, :tags_string)
+ add_index(:logis, [:creator_user_id, :created_at])
+ add_index(:peer_group_memberships, :user_id)
+ add_index(:prefs_profiles, :user_id)
+ add_index(:ratings, :logi_id)
+ add_index(:remarks, :logi_id)
+ add_index(:steps, :path_id)
+ add_index(:steps, :logi_id)
+ add_index(:used_tags, :string)
+ add_index(:user_group_memberships, :user_id)
+ add_index(:users, :unix_name)
+ add_index(:users, :single_access_token)
+ add_index(:votes, [:user_id, :rating_id], :unique => false) # without unique
+ add_index(:votes, :rating_id)
+ end
+
+ def self.down
+ end
+end
Added: trunk/db/migrate/20100810165341_restore_public_peergroup_memberships.rb
===================================================================
--- trunk/db/migrate/20100810165341_restore_public_peergroup_memberships.rb (rev 0)
+++ trunk/db/migrate/20100810165341_restore_public_peergroup_memberships.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -0,0 +1,20 @@
+class RestorePublicPeergroupMemberships < ActiveRecord::Migration
+ def self.up
+ if GlobalConfig.available?
+ RestorePublicPeergroupMemberships.update
+ end
+ end
+
+ def self.down
+ end
+
+ def self.update
+ User.find_each do |u|
+ m = PeerGroup.public.membership_for(u)
+ if m.new_record?
+ m.power = PeerGroupMembership.member_power
+ m.save
+ end
+ end
+ end
+end
Modified: trunk/db/schema.rb
===================================================================
--- trunk/db/schema.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/db/schema.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -9,7 +9,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20100626115750) do
+ActiveRecord::Schema.define(:version => 20100810165341) do
create_table "acts_as_xapian_jobs", :force => true do |t|
t.string "model", :null => false
@@ -27,12 +27,18 @@
t.datetime "created_at", :null => false
end
+ add_index "annotations", ["logi_id"], :name => "index_annotations_on_logi_id"
+
create_table "commentings", :force => true do |t|
t.integer "user_id", :null => false
t.integer "from_logi_id", :null => false
t.integer "to_logi_id", :null => false
end
+ add_index "commentings", ["from_logi_id", "to_logi_id"], :name => "index_commentings_on_from_logi_id_and_to_logi_id"
+ add_index "commentings", ["from_logi_id"], :name => "index_commentings_on_from_logi_id"
+ add_index "commentings", ["to_logi_id"], :name => "index_commentings_on_to_logi_id"
+
create_table "external_links", :force => true do |t|
t.integer "logi_id", :null => false
t.integer "user_id", :null => false
@@ -42,6 +48,8 @@
t.datetime "created_at", :null => false
end
+ add_index "external_links", ["logi_id"], :name => "index_external_links_on_logi_id"
+
create_table "global_configs", :force => true do |t|
t.integer "progress", :default => 0, :null => false
t.string "domain", :null => false
@@ -94,12 +102,15 @@
t.datetime "created_at", :null => false
end
+ add_index "invitations", ["user_id"], :name => "index_invitations_on_user_id"
+
create_table "link_matches", :force => true do |t|
t.integer "link_id", :null => false
t.integer "logi_id", :null => false
end
add_index "link_matches", ["link_id", "logi_id"], :name => "index_link_matches_on_link_id_and_logi_id", :unique => true
+ add_index "link_matches", ["logi_id"], :name => "index_link_matches_on_logi_id"
create_table "links", :force => true do |t|
t.integer "user_id", :null => false
@@ -114,6 +125,19 @@
t.boolean "re_resolve", :default => false, :null => false
end
+ add_index "links", ["from_logi_id", "to_logi_id"], :name => "index_links_on_from_logi_id_and_to_logi_id"
+ add_index "links", ["from_logi_id"], :name => "index_links_on_from_logi_id"
+ add_index "links", ["to_logi_id"], :name => "index_links_on_to_logi_id"
+
+ create_table "log_log_subscriptions", :force => true do |t|
+ t.integer "user_id", :null => false
+ t.string "channel", :null => false
+ t.string "period", :null => false
+ end
+
+ add_index "log_log_subscriptions", ["period"], :name => "index_log_log_subscriptions_on_period"
+ add_index "log_log_subscriptions", ["user_id"], :name => "index_log_log_subscriptions_on_user_id"
+
create_table "logi_versions", :force => true do |t|
t.integer "logi_id", :null => false
t.integer "editor_user_id", :null => false
@@ -123,6 +147,7 @@
end
add_index "logi_versions", ["logi_id", "nr"], :name => "index_logi_versions_on_logi_id_and_nr", :unique => true
+ add_index "logi_versions", ["logi_id"], :name => "index_logi_versions_on_logi_id"
create_table "logis", :force => true do |t|
t.string "perma_id", :null => false
@@ -138,7 +163,9 @@
t.integer "kind", :null => false
end
+ add_index "logis", ["creator_user_id", "created_at"], :name => "index_logis_on_creator_user_id_and_created_at"
add_index "logis", ["perma_id"], :name => "index_logis_on_perma_id", :unique => true
+ add_index "logis", ["tags_string"], :name => "index_logis_on_tags_string"
create_table "open_id_authentication_associations", :force => true do |t|
t.integer "issued"
@@ -171,6 +198,7 @@
end
add_index "peer_group_memberships", ["user_id", "peer_group_id"], :name => "index_peer_group_memberships_on_user_id_and_peer_group_id", :unique => true
+ add_index "peer_group_memberships", ["user_id"], :name => "index_peer_group_memberships_on_user_id"
create_table "peer_groups", :force => true do |t|
t.string "name", :limit => 80, :null => false
@@ -190,6 +218,7 @@
end
add_index "prefs_profiles", ["user_id", "name"], :name => "index_prefs_profiles_on_user_id_and_name", :unique => true
+ add_index "prefs_profiles", ["user_id"], :name => "index_prefs_profiles_on_user_id"
create_table "ratings", :force => true do |t|
t.integer "peer_group_id", :null => false
@@ -200,6 +229,7 @@
end
add_index "ratings", ["logi_id", "peer_group_id"], :name => "index_ratings_on_logi_id_and_peer_group_id", :unique => true
+ add_index "ratings", ["logi_id"], :name => "index_ratings_on_logi_id"
create_table "remarks", :force => true do |t|
t.integer "logi_id", :null => false
@@ -208,6 +238,8 @@
t.datetime "created_at", :null => false
end
+ add_index "remarks", ["logi_id"], :name => "index_remarks_on_logi_id"
+
create_table "sessions", :force => true do |t|
t.string "session_id", :null => false
t.text "data"
@@ -225,11 +257,16 @@
t.integer "position", :null => false
end
+ add_index "steps", ["logi_id"], :name => "index_steps_on_logi_id"
+ add_index "steps", ["path_id"], :name => "index_steps_on_path_id"
+
create_table "used_tags", :force => true do |t|
t.string "string", :limit => 80, :null => false
t.integer "use_count", :default => 0, :null => false
end
+ add_index "used_tags", ["string"], :name => "index_used_tags_on_string"
+
create_table "user_group_memberships", :force => true do |t|
t.integer "user_group_id", :null => false
t.integer "user_id", :null => false
@@ -237,6 +274,7 @@
end
add_index "user_group_memberships", ["user_id", "user_group_id"], :name => "index_user_group_memberships_on_user_id_and_user_group_id", :unique => true
+ add_index "user_group_memberships", ["user_id"], :name => "index_user_group_memberships_on_user_id"
create_table "user_groups", :force => true do |t|
t.string "name", :limit => 80, :null => false
@@ -271,6 +309,8 @@
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
add_index "users", ["openid_identifier"], :name => "index_users_on_openid_identifier"
add_index "users", ["perishable_token"], :name => "index_users_on_perishable_token"
+ add_index "users", ["single_access_token"], :name => "index_users_on_single_access_token"
+ add_index "users", ["unix_name"], :name => "index_users_on_unix_name"
create_table "votes", :force => true do |t|
t.integer "rating_id", :null => false
@@ -282,6 +322,7 @@
t.datetime "created_at", :null => false
end
- add_index "votes", ["user_id", "rating_id"], :name => "index_votes_on_user_id_and_rating_id", :unique => true
+ add_index "votes", ["rating_id"], :name => "index_votes_on_rating_id"
+ add_index "votes", ["user_id", "rating_id"], :name => "index_votes_on_user_id_and_rating_id"
end
Added: trunk/lib/tasks/log.rake
===================================================================
--- trunk/lib/tasks/log.rake (rev 0)
+++ trunk/lib/tasks/log.rake 2010-08-11 20:50:25 UTC (rev 1761)
@@ -0,0 +1,13 @@
+namespace :log do
+ desc "Rotates the logs"
+ task :rotate do
+ # create, migrate, load & fill the development-db & index
+ ["log/production.log", "log/access.log", "log/logilogi.rb.log"].each do |file|
+ if File.exists?(file)
+ # Will lose some log-data, but simple and effective
+ sh "cp #{file} #{file}.#{Time.now.strftime("%y%m%d%H%M%S")}"
+ sh "cat /dev/null > #{file}"
+ end
+ end
+ end
+end
Modified: trunk/lib/tasks/server.rake
===================================================================
--- trunk/lib/tasks/server.rake 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/lib/tasks/server.rake 2010-08-11 20:50:25 UTC (rev 1761)
@@ -87,12 +87,20 @@
end
namespace :maintenance do
- desc "Runs daily maintenance tasks, like backups, cleaning cache and" +
- " sessions. Pass in options for sub-tasks"
- task :daily do
- Rake::Task["server:db:backup"].invoke
- Rake::Task["pub:cache:clear"].invoke
- Rake::Task["db:sessions:clean"].invoke
+ namespace :daily do
+ desc "Runs daily maintenance tasks as the normal user: backups and" +
+ " cleaning sessions"
+ task :user do
+ Rake::Task["server:db:backup"].invoke
+ Rake::Task["db:sessions:clean"].invoke
+ end
+
+ desc "Runs daily maintenance tasks as the www user: cleaning cache" +
+ " and log rotation"
+ task :www do
+ Rake::Task["pub:cache:clear"].invoke
+ Rake::Task["log:rotate"].invoke
+ end
end
end
Modified: trunk/public/stylesheets/logilogi.css
===================================================================
--- trunk/public/stylesheets/logilogi.css 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/public/stylesheets/logilogi.css 2010-08-11 20:50:25 UTC (rev 1761)
@@ -786,6 +786,11 @@
float: left;
width: 33.7em;
}
+input#log_log_subscription_personalized_log,
+input#log_log_subscription_logis_log {
+ float: left;
+ margin: 0.3em 0.5em 0 0;
+}
#navigation_bar input.tag_list {
font-size: 1.2em;
margin-right: 0.2em;
@@ -1388,10 +1393,12 @@
float: right;
padding-top: -2em;
}
-#personal_rss .your_feed {
+#personal_rss .your_feed,
+#user_rss .user_feed {
float: left;
}
-#personal_rss .rss_link {
+#personal_rss .rss_link,
+#user_rss .rss_link {
float: left;
padding-left: 0.5em;
padding-top: 0.2em;
Modified: trunk/test/fixtures/peer_group_memberships.yml
===================================================================
--- trunk/test/fixtures/peer_group_memberships.yml 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/test/fixtures/peer_group_memberships.yml 2010-08-11 20:50:25 UTC (rev 1761)
@@ -10,8 +10,22 @@
user: john_johnson
role: <%= Const::PeerGroupMembership::MEMBER %>
power: 13
+ percentile: 83.3333333333333
+ updated_at: <%= 10.days.ago.to_s(:db) %>
+johnny_runner_public_peer_group:
+ peer_group_id: <%= PeerGroup.public.id %>
+ user: johnny_runner
+ role: <%= Const::PeerGroupMembership::MEMBER %>
+ power: 1
percentile: 50
- updated_at: <%= 10.days.ago.to_s(:db) %>
+ updated_at: <%= 1.hour.ago.to_s(:db) %>
+eddy_crawler_public_peer_group:
+ peer_group_id: <%= PeerGroup.public.id %>
+ user: eddy_crawler
+ role: <%= Const::PeerGroupMembership::MEMBER %>
+ power: 1
+ percentile: 33.3333333333333
+ updated_at: <%= 3.hours.ago.to_s(:db) %>
john_johnson_biologers:
peer_group: biologers
user: john_johnson
Modified: trunk/test/fixtures/ratings.yml
===================================================================
--- trunk/test/fixtures/ratings.yml 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/test/fixtures/ratings.yml 2010-08-11 20:50:25 UTC (rev 1761)
@@ -52,7 +52,7 @@
score: 4.0
weight: 1.0
updated_at: <%= 2.days.ago.to_s(:db) %>
-manta_public_peer_group:
+logi_logi_manta_public_peer_group:
peer_group_id: <%= PeerGroup.public.id %>
logi: logi_logi_manta
score: 2.0
Modified: trunk/test/fixtures/votes.yml
===================================================================
--- trunk/test/fixtures/votes.yml 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/test/fixtures/votes.yml 2010-08-11 20:50:25 UTC (rev 1761)
@@ -37,4 +37,12 @@
score: 2.0
ip_address: '127.0.0.1'
kind: <%= Const::Vote::USER %>
- created_at: <%= 6.days.ago.to_s(:db) %>
+ created_at: <%= 20.days.ago.to_s(:db) %>
+anonymous_from_public_peer_group_on_logi_logi_manta:
+ rating: logi_logi_manta_public_peer_group
+ user_id: <%= User.anonymous.id %>
+ weight: 0.1
+ score: 2.0
+ ip_address: '127.0.0.1'
+ kind: <%= Const::Vote::USER %>
+ created_at: <%= 2.days.ago.to_s(:db) %>
Modified: trunk/test/functional/comments_controller_test.rb
===================================================================
--- trunk/test/functional/comments_controller_test.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/test/functional/comments_controller_test.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -45,7 +45,7 @@
nr_of_c_l = l.commenting_logis.size
post :create, {:ll_link_string => l.link.to_s,
- :logi => {:title => 'K',
+ :from_blog => "false", :logi => {:title => 'K',
:body => '<p>akatu</p>'}}.merge(self.thorny_ok_hash)
assert_response :success
@@ -57,4 +57,23 @@
assert c_l
assert_equal [Tag.untagged], c_l.tags
end
+
+ def test_create_new_logi_from_blog
+ l = logis(:logi_logi)
+ nr_of_c_l = l.commenting_logis.size
+
+ post :create, {:ll_link_string => l.link.to_s,
+ :from_blog => "true", :logi => {:title => 'K',
+ :body => '<p>akiiatu</p>'}}.merge(self.thorny_ok_hash)
+
+ assert_response :success
+ l.reload
+ assert_equal l.commenting_logis.size, nr_of_c_l # no comment
+ c_ls = Logi.find_all_by_text_stack('<h1>K</h1> <p>akiiatu</p>')
+ assert_equal 1, c_ls.size
+ c_l = c_ls.first
+ assert c_l
+ assert_equal [Tag.from_s(
+ User.anonymous.home_page_tag_string), Tag.blog], c_l.tags
+ end
end
Modified: trunk/test/functional/users_controller_test.rb
===================================================================
--- trunk/test/functional/users_controller_test.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/test/functional/users_controller_test.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -95,6 +95,22 @@
# assert_equal 'du...@pe...', u.email
# assert_equal 'http://your.openid.net/', u.openid_identifier
+ # log log subscriptions, enable
+ post :update, :id => u.id, :log_log_subscription => {
+ :personalized_log => 1, :logis_log => 1, :updating => true}
+ assert_response :redirect
+ u.reload
+ assert LogLogSubscription.find_by_user_id_and_channel(u.id, "logis")
+ assert LogLogSubscription.find_by_user_id_and_channel(u.id, "for_" + u.unix_name)
+
+ # disable personalized_log
+ post :update, :id => u.id, :log_log_subscription => {
+ :logis_log => 1, :updating => true}
+ assert_response :redirect
+ u.reload
+ assert LogLogSubscription.find_by_user_id_and_channel(u.id, "logis")
+ assert !LogLogSubscription.find_by_user_id_and_channel(u.id, "for_" + u.unix_name)
+
# prefs
post :update, :id => u.id, :user => nil, :prefs_profile => {:default_peer_group_id => p_g.id}
assert_response :redirect
Modified: trunk/test/unit/notifier_test.rb
===================================================================
--- trunk/test/unit/notifier_test.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/test/unit/notifier_test.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -24,10 +24,12 @@
@expected = TMail::Mail.new
end
- def test_for_log
+ def test_log_log
u = users(:eduard_edison)
- assert Notifier.create_for_log(u, "for_eduard_edison", "~ Moo ~\n Cows\n Boy!")
+ assert Notifier.create_personalized_log(u, "daily", "~ Moo ~\n Cows\n Boy!")
+ assert Notifier.create_logis_log(u, "weekly", "~ Moo ~\n Cows\n Boy!")
+ assert Notifier.create_admin_log("weekly", 20, "~ Moo ~\n Cows\n Boy!")
end
def test_welcome
Modified: trunk/test/unit/peer_group_membership_test.rb
===================================================================
--- trunk/test/unit/peer_group_membership_test.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/test/unit/peer_group_membership_test.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -38,16 +38,16 @@
eduards_m = peer_group_memberships(:eduard_edison_public_peer_group)
assert_equal 100, eduards_m.percentile.round
johns_m = peer_group_memberships(:john_johnson_public_peer_group)
- assert_equal 75, johns_m.percentile.round
+ assert_equal 83, johns_m.percentile.round
end
def test_drop_the_powerless
- eduards_m = peer_group_memberships(:eduard_edison_public_peer_group)
- eduards_m.power = PeerGroupMembership.member_power
- eduards_m.save!
+ johns_m = peer_group_memberships(:john_johnson_biologers)
+ johns_m.power = PeerGroupMembership.member_power
+ johns_m.save!
PeerGroupMembership.drop_the_powerless
- assert_equal nil, PeerGroupMembership.find_by_id(eduards_m.id)
- assert peer_group_memberships(:john_johnson_public_peer_group)
+ assert_equal nil, PeerGroupMembership.find_by_id(johns_m.id)
+ assert peer_group_memberships(:johnny_runner_biologers)
end
### Methods
Modified: trunk/test/unit/rating_test.rb
===================================================================
--- trunk/test/unit/rating_test.rb 2010-08-07 09:51:32 UTC (rev 1760)
+++ trunk/test/unit/rating_test.rb 2010-08-11 20:50:25 UTC (rev 1761)
@@ -41,11 +41,18 @@
end
def test_vote_for
- # Get two existing votes
+ # Get an existing vote
r = ratings(:peter_abelard_public_peer_group)
vote = r.vote_for(users(:john_johnson), '1.1.1.1')
assert !vote.new_record?
+
+ # Get a new anonymous vote
vote = r.vote_for(User.anonymous, '127.0.0.1')
+ assert vote.new_record? # more than a week old
+
+ # Get an old anonymous vote
+ r = ratings(:logi_logi_manta_public_peer_group)
+ vote = r.vote_for(User.anonymous, '127.0.0.1')
assert !vote.new_record?
# Get a new, and an old vote
@@ -78,10 +85,8 @@
john = users(:john_johnson)
johns_power = PeerGroup.public.membership_for(john).power
- extra_attributes = {:logi => logis(:michel_foucault),
- :peer_group => PeerGroup.public}
-
- r = Rating.new({:score => 5, :weight => 30}.merge!(extra_attributes))
+ r = Rating.new({:score => 5, :weight => 30,
+ :logi => logis(:michel_foucault), :peer_group => PeerGroup.public})
old_power_income = r.power_income
vote = r.vote_for(u, nil)
vote.score = 3
@@ -107,13 +112,30 @@
end
def test_vote_anonymous
+ # not voted before
i = logis(:nederland)
p_g = PeerGroup.public
r = i.rating_for(p_g)
+ assert r.new_record?
vote = r.vote_for(User.anonymous, '127.0.0.1')
vote.score = 5
r.vote(vote)
+ r.reload
assert_equal 5, r.score
+
+ # voted more than a week ago
+ i = logis(:peter_abelard)
+ p_g = PeerGroup.public
+ r = i.rating_for(p_g)
+ assert !r.new_record?
+ r_v_c = r.votes.size
+ vote = r.vote_for(User.anonymous, '127.0.0.1')
+ assert vote.new_record?
+ vote.score = 5
+ r.vote(vote)
+ r.reload
+ assert_equal r_v_c + 1, r.votes.size
+ assert_equal 4.1, r.weight
end
def test_vote_errors
@@ -127,7 +149,9 @@
# voting twice
vote.score = 5
- assert r.vote(vote)
+ r.vote(vote)
+ vote.reload
+ assert !vote.new_record?
assert_raise(RuntimeError) {
r.vote(vote)
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wy...@us...> - 2010-08-07 09:51:43
|
Revision: 1760
http://logilogi.svn.sourceforge.net/logilogi/?rev=1760&view=rev
Author: wybow
Date: 2010-08-07 09:51:32 +0000 (Sat, 07 Aug 2010)
Log Message:
-----------
Cleaned up poster
Added Paths:
-----------
docs/posters/DH2010/
docs/posters/DH2010/baposter.cls
docs/posters/DH2010/header.tex
docs/posters/DH2010/images/
docs/posters/DH2010/poster.bib
docs/posters/DH2010/poster.pdf
docs/posters/DH2010/poster.tex
Removed Paths:
-------------
docs/posters/DH2010/images/logo.pdf
docs/posters/DH2010/images/msrlogo.pdf
docs/posters/baposter.cls
docs/posters/header.tex
docs/posters/images/
docs/posters/poster.bib
docs/posters/poster.pdf
docs/posters/poster.tex
Copied: docs/posters/DH2010/baposter.cls (from rev 1756, docs/posters/baposter.cls)
===================================================================
--- docs/posters/DH2010/baposter.cls (rev 0)
+++ docs/posters/DH2010/baposter.cls 2010-08-07 09:51:32 UTC (rev 1760)
@@ -0,0 +1,837 @@
+%%
+%% This is file `baposter.cls'
+%%
+%% An relatively comfortable latex class to produce posters with a grid based
+%% layout. It comes with a number of combinable styles and is (maybe only for
+%% the writer) easy to extend, as all the graphics is based on pgf.
+%%
+%% It is meant to be used with pdftex, but might also work with pslatex if you
+%% are not interested in things like transparency.
+%%
+%% Copyright (C) 2007 Brian Amberg
+%%
+%% 10. June 2010 Added option to set the number of columns
+%% - added a class option to set the number of columns
+%% - columns=5: sets the number of columns to 5, possible values are 1..6, default is 3 in portrait and 4 in landscape format
+%% 29. April 2009 Incorporated Patches by Arne Henningsen
+%% - added some class options
+%% - a4shrink: shrink the paper to A4 size (for printing drafts or handouts)
+%% - movebody=Xpt: move the text/poster body Xpt to the right
+%% (or to the left if Xpt is negative),
+%% e.g. for manually centering the poster on the page
+%% - showframe: use the "showframe" option of the "geometry" package
+%% - a0paper (default): set paper size to A0
+%% - archE: set paper size to Arch E
+%% - setting "background" can be "none" now (otherwise the "showframe"
+%% option has no effect)
+%% - the page number has been removed (it was mostly not visible before)
+%% - the "margin=" option works now
+%% 04. December 2008
+%% - Mainly an update to the landscape example
+%% 14. November 2008
+%% - Actually center the title when eyecatcher is used.
+%% 04. November 2008
+%% - Fixed bug with eyecatcher not working.
+%% 26. June 2008
+%% - Fixed bug with plain background mode.
+%% 14. June 2008
+%% - Support for portrait/landscape switching.
+%% - Some smaller bugfixes.
+%% 01. June 2007
+%% - First version released.
+%%
+%% Use this class with pdflatex
+%%
+%% I have confirmed that this package works with
+%% - texlive 2007 and
+%% - miktex 2.7
+%%
+%% It does not seem to work with
+%% - miktex 2.2
+%% - some old versions of tetex
+%%
+%% Licence: GPL
+\ProvidesClass{baposter}[2010/06/10 v1.04 baposter class]
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\LoadClass{article}
+\typeout{baposter: Brian Amberg, 2007, 2008, 2009 | http://www.brian-amberg.de/uni/poster/}
+
+%% Define lengths only once on inclusion, such that we can make multiple posters
+\newlength{\baposter@basepaperwidth}
+\newlength{\baposter@basepaperheight}
+\newlength{\baposter@basemargin}
+\newlength{\headerheight}%
+\newlength{\colwidth}%
+\newlength{\colheight}%
+\newlength{\baposter@@colspacing}%
+\newlength{\boxstartx}%
+\newlength{\boxstarty}%
+\newlength{\boxwidth}%
+\newlength{\boxheight}%
+\newlength{\baposter@titleimage@left@width}%
+\newlength{\baposter@titleimage@right@width}%
+\newlength{\baposter@titleimage@textwidth}%
+\newbox\baposter@content%
+\newbox\baposter@titleimage@left%
+\newbox\baposter@titleimage@title%
+\newbox\baposter@titleimage@right%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Packages
+%-------------------------------------------------------------------------------
+% The only ``weird'' dependency of this package is pgf. All the rest should be
+% installed on any decent system.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\typeout{Use Packages}
+\usepackage{xkeyval}
+\usepackage{calc}
+\usepackage[cmyk]{xcolor}
+\usepackage{tikz}
+\usepackage{pgf}
+\usepackage{ifthen}
+\usepackage[T1]{fontenc}
+
+\usetikzlibrary{snakes}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Settings
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% TODO: Add package options
+\typeout{Setup}
+
+% Choose a smaller value for larger fonts
+\newcommand{\baposter@fontscale}{0.292}
+% Landscape versus portrait
+\newcommand{\baposter@format}{}
+% default paper size
+\newcommand{\baposter@papersize}{a0paper}
+% use the ``showframe'' option of the ``geometry'' package?
+\newcommand{\baposter@showframe}{false}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Zoom
+%-------------------------------------------------------------------------------
+% We scale the page from fontscale * a0 up to a0
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\typeout{Zoom}
+
+\DeclareOption{landscape}{\renewcommand{\baposter@format}{landscape}}
+\DeclareOption{portrait}{\renewcommand{\baposter@format}{}}
+\DeclareOption{archE}{\renewcommand{\baposter@papersize}{archE}}
+\DeclareOption{a0paper}{\renewcommand{\baposter@papersize}{a0paper}}
+\DeclareOption{a4shrink}{\newcommand{\baposter@finalpapersize}{a4paper}}
+\DeclareOption{showframe}{\renewcommand{\baposter@showframe}{true}}
+\ProcessOptions
+
+\ifthenelse{\equal{\baposter@papersize}{archE}}{
+ \setlength{\baposter@basepaperwidth} {91.44cm}
+ \setlength{\baposter@basepaperheight}{121.92cm}
+ \setlength{\baposter@basemargin}{1.5cm}
+}{
+ \setlength{\baposter@basepaperwidth} {83.96cm}
+ \setlength{\baposter@basepaperheight}{118.82cm}
+ \setlength{\baposter@basemargin}{1.5cm}
+}
+\ifthenelse{\equal{\baposter@format}{landscape}}{
+ \setlength{\baposter@basepaperwidth} {118.82cm}
+ \setlength{\baposter@basepaperheight}{83.96cm}
+ \setlength{\baposter@basemargin}{1.5cm}
+}{
+ \setlength{\baposter@basepaperwidth} {83.96cm}
+ \setlength{\baposter@basepaperheight}{118.82cm}
+ \setlength{\baposter@basemargin}{1.5cm}
+}
+
+\DeclareOptionX{fontscale}[0.292]{\renewcommand{\baposter@fontscale}{#1}}
+\DeclareOptionX{margin} [1.5cm] {\setlength{\baposter@basemargin}{#1}}
+% move text/poster body to the right (or to the left if negative)
+\newlength{\baposter@movebody}
+\setlength{\baposter@movebody}{0cm}
+\DeclareOptionX{movebody}[0cm]{\setlength{\baposter@movebody}{#1}}
+\ProcessOptionsX
+
+\setlength{\baposter@basepaperwidth} {\baposter@fontscale\baposter@basepaperwidth }
+\setlength{\baposter@basepaperheight}{\baposter@fontscale\baposter@basepaperheight}
+\setlength{\baposter@basemargin} {\baposter@fontscale\baposter@basemargin}
+\newlength{\baposter@basemarginright}
+\setlength{\baposter@basemarginright}{\baposter@basemargin}
+\addtolength{\baposter@basemarginright}{-\baposter@fontscale\baposter@movebody}
+\newlength{\baposter@basemarginleft}
+\setlength{\baposter@basemarginleft}{\baposter@basemargin}
+\addtolength{\baposter@basemarginleft}{\baposter@fontscale\baposter@movebody}
+
+\usepackage[
+ paperwidth=\baposter@basepaperwidth,
+ paperheight=\baposter@basepaperheight,
+ tmargin=\baposter@basemargin,
+ bmargin=\baposter@basemargin,
+ lmargin=\baposter@basemarginleft,
+ rmargin=\baposter@basemarginright,
+ showframe=\baposter@showframe]{geometry}
+
+\ifthenelse{ \isundefined\baposter@finalpapersize }{
+ \newcommand{\baposter@finalpapersize}{\baposter@papersize}}{}
+
+\usepackage{pgfpages}
+\define@key{pgfpagesuselayoutoption}{archE}[]%
+ {\def\pgfpageoptionheight{121.92cm} \def\pgfpageoptionwidth{91.44cm}}
+\pgfpagesuselayout{resize to}[\baposter@finalpapersize,\baposter@format]
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% New Version, with specified size
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% TODO: Use choose-keys
+\typeout{Keys}
+\define@cmdkey[ba]{poster}[baposter@]{grid} [no] {}
+\define@cmdkey[ba]{poster}[baposter@]{eyecatcher} [yes] {}
+\define@cmdkey[ba]{poster}[baposter@]{columns} [{}] {}
+\define@cmdkey[ba]{poster}[baposter@]{textborder} [faded] {}
+\define@cmdkey[ba]{poster}[baposter@]{headerborder} [none] {}
+\define@cmdkey[ba]{poster}[baposter@]{headershape} [roundedright]{}
+\define@cmdkey[ba]{poster}[baposter@]{colspacing} [1em] {}
+\define@cmdkey[ba]{poster}[baposter@]{headerheight} [0.1\textheight]{}
+\define@cmdkey[ba]{poster}[baposter@]{headershade} [shade-lr] {}
+\define@cmdkey[ba]{poster}[baposter@]{boxshade} [none] {}
+
+\definecolor{baposter@silver}{cmyk}{0,0,0,0.7}
+\define@cmdkey[ba]{poster}[baposter@]{color} [orange] {}
+\define@cmdkey[ba]{poster}[baposter@]{colortwo} [white] {}
+\define@cmdkey[ba]{poster}[baposter@]{bgColorOne} [baposter@silver]{}
+\define@cmdkey[ba]{poster}[baposter@]{bgColorTwo} [green] {}
+\define@cmdkey[ba]{poster}[baposter@]{borderColor} [yellow] {}
+\define@cmdkey[ba]{poster}[baposter@]{headerColorOne} [red] {}
+\define@cmdkey[ba]{poster}[baposter@]{headerColorTwo} [brown] {}
+\define@cmdkey[ba]{poster}[baposter@]{headerFontColor} [black] {}
+\define@cmdkey[ba]{poster}[baposter@]{boxColorOne} [magenta] {}
+\define@cmdkey[ba]{poster}[baposter@]{boxColorTwo} [cyan] {}
+
+\define@cmdkey[ba]{poster}[baposter@]{background} [plain] {}
+\define@cmdkey[ba]{poster}[baposter@]{headerfont} [\sc\Large] {}
+\define@cmdkey[ba]{poster}[baposter@]{textfont} [{}] {}
+
+\define@cmdkey[ba]{poster}[baposter@]{linewidth} [2pt] {}
+
+\define@cmdkey[ba]{posterbox}[baposter@box@]{below} [notset]{}
+\define@cmdkey[ba]{posterbox}[baposter@box@]{above} [notset]{}
+\define@cmdkey[ba]{posterbox}[baposter@box@]{aligned}[notset]{}
+\define@cmdkey[ba]{posterbox}[baposter@box@]{bottomaligned}[notset]{}
+\define@cmdkey[ba]{posterbox}[baposter@box@]{column} [0] {}
+\define@cmdkey[ba]{posterbox}[baposter@box@]{row} [0] {}
+\define@cmdkey[ba]{posterbox}[baposter@box@]{span} [1] {}
+\define@cmdkey[ba]{posterbox}[baposter@box@]{height} [auto] {}
+\define@cmdkey[ba]{posterbox}[baposter@box@]{name} [noname]{}
+
+\newcommand{\baposter@backgroundCmd}{\error{No background command defined. Use \background{...} to define background}}
+\newcommand{\background}[1]{\renewcommand{\baposter@backgroundCmd}{#1}}
+
+\presetkeys[ba]{poster}{
+ % Debug grid
+ grid=no,
+ % Is there an eyecatcher image
+ eyecatcher=yes,
+ columns={},
+ % Colours
+ bgColorOne=baposter@silver,
+ bgColorTwo=green,
+ borderColor=yellow,
+ headerColorOne=red,
+ headerColorTwo=brown,
+ headerFontColor=black,
+ boxColorOne=magenta,
+ boxColorTwo=cyan,
+ % Style
+ headerborder=none,
+ colspacing=1em,
+ headerheight=0.1\textheight,
+ background=shade-lr,
+ headershade=shade-lr,
+ boxshade=none,
+ headerfont=\sc\Large,% or headerfont=\color{white}\textsf\textbf
+ textfont={},
+ linewidth=2pt
+}{}
+\presetkeys[ba]{posterbox}{
+ % Position
+ column=0,row=0,span=1,
+ below=notset,above=notset,
+ bottomaligned=notset,
+ aligned=notset,
+ height=auto,
+ % Name
+ name=noname,
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% The main poster environment
+%%% \begin{baposter}{settings}{Eye Catcher}{Title}{Author}{University Logo}
+%%%-----------------------------------------------------------------------------
+%%% The settings are
+%%% - grid=yes,[no]: Show grid to help with alignment
+%%% - colspacing=0.7em: Column spacing
+%%% - columns=4: number of columns (default 4 in landscape and 3 in portrait format) (maximum number is 6)
+%%% - color=[orange]: xcolor color definition used as the main color of the poster
+%%% - colortwo=[white]: The other color for gradient based layouts
+%%% - textborder=none,bars,coils,triangles,rectangle,rounded,small-rounded,roundedleft,roundedright,[faded]
+%%% The style of the box around the text area
+%%% - headerborder=none,closed,open
+%%% No extra border around box header, full border around box header or border that is open below.
+%%% - headershape=rectangle,rounded,roundedleft,roundedright
+%%% Shape of the box-header region
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newenvironment{poster}[5]{%
+ \typeout{Poster Starts}%
+ \setkeys[ba]{poster}{#1}%
+%
+ % Parse Keys%
+ \colorlet{bgColorOne}{\baposter@bgColorOne}
+ \colorlet{bgColorTwo}{\baposter@bgColorTwo}
+ \colorlet{borderColor}{\baposter@borderColor}
+ \colorlet{headerColorOne}{\baposter@headerColorOne}
+ \colorlet{headerColorTwo}{\baposter@headerColorTwo}
+ \colorlet{headerFontColor}{\baposter@headerFontColor}
+ \colorlet{boxColorOne}{\baposter@boxColorOne}
+ \colorlet{boxColorTwo}{\baposter@boxColorTwo}
+%
+ %% Boxes%
+ \setlength{\headerheight}{\baposter@headerheight}%
+ \setlength{\colheight}{\textheight-\baposter@headerheight}%
+%
+ \typeout{Format}%
+ \ifthenelse{\equal{\baposter@format}{landscape}}{%
+ \ifthenelse{\equal{\baposter@columns}{}}{\renewcommand{\baposter@columns}{4}}{}
+ }{%
+ \ifthenelse{\equal{\baposter@columns}{}}{\renewcommand{\baposter@columns}{3}}{}
+ }%
+%
+ \typeout{Columns: \baposter@columns}%
+ \setlength{\baposter@@colspacing}{\baposter@colspacing}%
+ \typeout{1}%
+ \setlength{\colwidth}{\textwidth}%
+ \typeout{2}%
+ \addtolength{\colwidth}{-\baposter@columns\baposter@@colspacing}\addtolength{\colwidth}{\baposter@@colspacing}%
+ \typeout{3}%
+ \ifthenelse{\equal{\baposter@columns}{1}}{
+ \setlength{\colwidth}{\colwidth}%
+ }{
+ \ifthenelse{\equal{\baposter@columns}{2}}{
+ \setlength{\colwidth}{0.5\colwidth}%
+ }{
+ \ifthenelse{\equal{\baposter@columns}{3}}{
+ \setlength{\colwidth}{0.3333333333333\colwidth}%
+ }{
+ \ifthenelse{\equal{\baposter@columns}{4}}{
+ \setlength{\colwidth}{0.25\colwidth}%
+ }{
+ \ifthenelse{\equal{\baposter@columns}{5}}{
+ \setlength{\colwidth}{0.2\colwidth}%
+ }{
+ \ifthenelse{\equal{\baposter@columns}{6}}{
+ \setlength{\colwidth}{0.16666666666\colwidth}%
+ }{
+ \error{You do not want so many columns}
+ }
+ }
+ }
+ }
+ }
+ }
+%
+ % Background image%
+ \newcommand{\baposterShadedBG}{%
+ \ifthenelse{\equal{\baposter@background}{shade-lr}}{%
+ \begin{tikzpicture}[remember picture,overlay]%
+ \shade [shading=axis,right color=bgColorOne,left color=bgColorTwo] (current page.north west) rectangle(current page.south east);
+ \typeout{BAPOSTER: Using shade left right background.}
+ \end{tikzpicture}%
+ }{%
+ \ifthenelse{\equal{\baposter@background}{shade-tb}}{%
+ \typeout{BAPOSTER: Using shade top to bottom background.}
+ \begin{tikzpicture}[remember picture,overlay]%
+ \shade [shading=axis,top color=bgColorOne,bottom color=bgColorTwo] (current page.north west) rectangle(current page.south east);
+ \end{tikzpicture}%
+ }{%
+ \ifthenelse{\equal{\baposter@background}{plain}}{%
+ \typeout{BAPOSTER: Using plain background.}
+ \begin{tikzpicture}[remember picture,overlay]%
+ \fill [fill=bgColorOne] (current page.north west) rectangle(current page.south east);
+ \end{tikzpicture}%
+ }{%
+ \ifthenelse{\equal{\baposter@background}{user}}{%
+ \typeout{BAPOSTER: Using user background.}
+ \baposter@backgroundCmd%
+ }{%
+ \ifthenelse{\equal{\baposter@background}{none}}{%
+ \typeout{BAPOSTER: Using no background.}
+ }{%
+ \error{Unknown background, use shade-lr, shade-tb, plain, none, or user. If user is used, you also have to define \background{...} }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+%
+ \newcommand{\baposter@reference}{north west}%
+%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % A box with a header and some content. The basic unit of the poster%
+ %---------------------------------------------------------------------------%
+ % Each box has a name and can be placed absolutely or relatively.%
+ % The only inconvenience is that you can only specify a relative position %
+ % towards an already declared box. So if you have a box attached to the %
+ % bottom, one to the top and a third one which should be inbetween, you %
+ % have to specify the top and bottom boxes before you specify the middle %
+ % box.%
+ %%
+ % below= name of other node%
+ % above= name of other node%
+ % aligned=name of other node%
+ % bottomaligned=name of other node%
+ % column= [0] %
+ % row= [0] %
+ % span= [1] %
+ % height= <size in percent of column height>,[auto]%
+ % name= [noname]%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \newcommand{\headerbox}[3]{%
+ \typeout{##2}%
+ \setkeys[ba]{posterbox}{##2}%
+%
+%
+ %% The columns is always given absolute
+ % boxstartx = \baposter@box@column * colwidth + (\baposter@box@column-1) * baposter@@colspacing
+ \setlength{\boxstartx}{\baposter@box@column\colwidth}%
+ \addtolength{\boxstartx}{\baposter@box@column\baposter@@colspacing}%
+%
+ %% The width is gvien absolute
+ % Box Width = \baposter@box@span * colwidth + (\baposter@box@span-1) * baposter@@colspacing
+ \setlength{\boxwidth}{\baposter@box@span\colwidth} %
+ \addtolength{\boxwidth}{\baposter@box@span\baposter@@colspacing}%
+ \addtolength{\boxwidth}{-\baposter@@colspacing}%
+%
+ %% Measure the content of the box%
+ \setbox\baposter@content=\hbox{%
+ \begin{pgfinterruptpicture}%
+ \hspace{0.2em}\begin{minipage}[t]{\boxwidth-2em}%
+ \vspace{0.2em}
+ \baposter@textfont{##3}%
+ \end{minipage}%
+ \end{pgfinterruptpicture}%
+ }%
+ \setlength{\boxheight}{\ht\baposter@content}\addtolength{\boxheight}{\dp\baposter@content}%
+ \addtolength{\boxheight}{2em} % Header%
+ \addtolength{\boxheight}{1em} % Inner Sep%
+%
+ \ifthenelse{\equal{\baposter@box@height}{bottom}}{%
+ }{\ifthenelse{\equal{\baposter@box@height}{auto}}{%
+ }{ % Neither auto nor bottom%
+ \setlength{\boxheight}{\baposter@box@height\colheight}%
+ }}%
+%
+ %% Determine the box position%
+ \typeout{Setting Coordinates}%
+ \typeout{Upper Right}%
+ \typeout{\baposter@box@name}%
+%
+ %%% Upper Right Corner%
+ \ifthenelse{\not\equal{\baposter@box@below}{notset} }{%
+ %% Below%
+ \typeout{Below}%
+ \path[shape=coordinate] (\boxstartx,0pt |- \baposter@box@below se) ++(0pt,-\baposter@@colspacing) coordinate(\baposter@box@name nw);%
+ }{%
+ \ifthenelse{\not\equal{\baposter@box@aligned}{notset} }{%
+ %% Aligned%
+ \typeout{Aligned: \baposter@box@aligned}%
+ \path[shape=coordinate] (\boxstartx,0pt |- \baposter@box@aligned nw) coordinate(\baposter@box@name nw);%
+ }{%
+ %% Fixed%
+ \typeout{Fixed}%
+ \setlength{\boxstarty}{\baposter@box@row\colheight}%
+ \path[shape=coordinate] (\boxstartx,\colheight-\boxstarty) coordinate(\baposter@box@name nw);%
+ }}%
+%
+ %% Lower Left Corner%
+ \typeout{Lower Left}%
+ \ifthenelse{\equal{\baposter@box@above}{bottom}}{%
+ %% Above = Bottom%
+ \typeout{Above bottom}%
+ \ifthenelse{\equal{\baposter@box@below}{notset} \and \equal{\baposter@box@aligned}{notset}}{%
+ \path[shape=coordinate] (\boxstartx,\boxheight) coordinate(\baposter@box@name nw);%
+ }{}%
+ \path[shape=coordinate] (\boxstartx+\boxwidth,0pt) coordinate(\baposter@box@name se);%
+ }{\ifthenelse{\not \equal{\baposter@box@bottomaligned}{notset}}{%
+ \path[shape=coordinate] (\boxstartx+\boxwidth,0pt |- \baposter@box@bottomaligned se) coordinate(\baposter@box@name se);%
+ }{{\ifthenelse{\not \equal{\baposter@box@above}{notset}}{%
+ %% Above = Node%
+ \path[shape=coordinate] (\boxstartx+\boxwidth,0pt |- \baposter@box@above nw) +(0pt,\baposter@@colspacing) coordinate(\baposter@box@name se);%
+ }{%
+ %% Above = notset%
+ \typeout{Above=not set}%
+ \ifthenelse{\equal{\baposter@box@height}{bottom}}{%
+ %% height=bottom%
+ \typeout{height=bottom}%
+ \path[shape=coordinate] (\boxstartx+\boxwidth,0pt) coordinate(\baposter@box@name se);%
+ }{ %% height=auto or fixed%
+ \typeout{height=auto or fixed}%
+ \path[shape=coordinate] (\baposter@box@name nw) ++(\boxwidth,-\boxheight) coordinate(\baposter@box@name se);%
+ }}}}}%
+%
+ %
+ % Set coordinates relative to nw,se%
+ \typeout{Fixing Coordinates}%
+ \path[shape=coordinate]%
+ (\baposter@box@name nw) +(0pt,-2em) coordinate(\baposter@box@name tnw)%
+ (\baposter@box@name nw |- \baposter@box@name se) coordinate(\baposter@box@name sw)%
+ (\baposter@box@name se |- \baposter@box@name nw) coordinate(\baposter@box@name ne)%
+ (\baposter@box@name ne) +(0pt,-2em) coordinate(\baposter@box@name tne)%
+%
+ (\baposter@box@name nw) +(-0.025em,0pt) coordinate(\baposter@box@name outer nw)%
+ (\baposter@box@name tnw) +(-0.025em,0pt) coordinate(\baposter@box@name outer tnw)%
+ (\baposter@box@name sw) +(-0.025em,0pt) coordinate(\baposter@box@name outer sw)%
+%
+ (\baposter@box@name ne) +( 0.025em,0pt) coordinate(\baposter@box@name outer ne)%
+ (\baposter@box@name tne) +( 0.025em,0pt) coordinate(\baposter@box@name outer tne)%
+ (\baposter@box@name se) +( 0.025em,0pt) coordinate(\baposter@box@name outer se);%
+%
+ \ifthenelse{\equal{\baposter@headershade}{shade-lr}}{%
+ \typeout{Header-Shade: Shade Left - Right}
+ \tikzstyle{header colors}=[%
+ color=borderColor,%
+ shading=axis,%
+ left color=headerColorOne,%
+ right color=headerColorTwo%
+ ]%
+ }{\ifthenelse{\equal{\baposter@headershade}{shade-tb}}{%
+ \typeout{Header-Shade: Shade Top - Bottom}
+ \tikzstyle{header colors}=[%
+ color=borderColor,%
+ shading=axis,%
+ top color=headerColorOne,%
+ bottom color=headerColorTwo%
+ ]%
+ }{\ifthenelse{\equal{\baposter@headershade}{shade-tb-inverse}}{%
+ \tikzstyle{header colors}=[%
+ top color=headerColorOne!75!headerColorTwo,%
+ bottom color=headerColorTwo!100!headerColorOne,%
+ shading angle=20%
+ ]%
+ \colorlet{baposterHeaderFontColor}{white}%
+ }{\ifthenelse{\equal{\baposter@headershade}{plain}}{%
+ \typeout{Header-Shade: Plain}
+ \tikzstyle{header colors}=[%
+ color=borderColor,%
+ fill=headerColorOne%
+ ]%
+ }{%
+ \typeout{Header-Shade: Unknown Style: \baposter@headershade}
+ \PackageError{baposter.cls}{Unknown header shade style \baposter@headershade}{Edit your file to choose a valid option}{}%
+ }}}}%
+ \typeout{Box-Shade: \baposter@boxshade}
+ \ifthenelse{\equal{\baposter@boxshade}{shade-lr}}{%
+ \tikzstyle{box colors}=[%
+ shading=axis,%
+ left color=boxColorOne,%
+ right color=boxColorTwo%
+ ]%
+ }{%
+ \ifthenelse{\equal{\baposter@boxshade}{shade-tb}}{%
+ \tikzstyle{box colors}=[%
+ shading=axis,%
+ top color=boxColorOne,%
+ bottom color=boxColorTwo%
+ ]%
+ }{%
+ \ifthenelse{\equal{\baposter@boxshade}{plain}}{%
+ \tikzstyle{box colors}=[%
+ fill=boxColorOne%
+ ]%
+ }{%
+ \ifthenelse{\equal{\baposter@boxshade}{none}}{%
+ \tikzstyle{box colors}=[]%
+ }{%
+ \PackageError{baposter.cls}{Unknown box shade style \baposter@boxshade}{Edit your file to choose a valid option}{}%
+ }%
+ }%
+ }%
+ }%
+ \tikzstyle{rc}=[rounded corners=1em];%
+ \tikzstyle{src}=[rounded corners=0.5em];%
+%
+ \begin{scope}[line width=\baposter@linewidth]
+ \typeout{Header}%
+ \typeout{Header-Shape: \baposter@headershape}%
+ %% Header%
+ \ifthenelse {\equal{\baposter@headershape}{rectangle}} {%
+ %%%
+ \ifthenelse{\equal{\baposter@headerborder}{open}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \filldraw [style=header colors] (\baposter@box@name tnw) -- (\baposter@box@name nw) -- (\baposter@box@name ne) -- (\baposter@box@name tne);%
+ }{
+ \shadedraw [style=header colors] (\baposter@box@name tnw) -- (\baposter@box@name nw) -- (\baposter@box@name ne) -- (\baposter@box@name tne);%
+ }
+ }{\ifthenelse{\equal{\baposter@headerborder}{closed}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \filldraw [style=header colors] (\baposter@box@name tnw) -- (\baposter@box@name nw) -- (\baposter@box@name ne) -- (\baposter@box@name tne) -- cycle;%
+ }{
+ \shadedraw [style=header colors] (\baposter@box@name tnw) -- (\baposter@box@name nw) -- (\baposter@box@name ne) -- (\baposter@box@name tne) -- cycle;%
+ }
+ }{\ifthenelse{\equal{\baposter@headerborder}{none}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \fill [style=header colors] (\baposter@box@name outer tnw) -- (\baposter@box@name outer nw) -- (\baposter@box@name outer ne) -- (\baposter@box@name outer tne) -- cycle;%
+ }{
+ \shade [style=header colors] (\baposter@box@name outer tnw) -- (\baposter@box@name outer nw) -- (\baposter@box@name outer ne) -- (\baposter@box@name outer tne) -- cycle;%
+ }
+ }{\PackageError{baposter.cls}{Unknown header border \baposter@headerborder}{Edit your file to choose a valid option}}}}{}%
+ \path (\baposter@box@name nw) +(0em,-1em) node[anchor=west,inner sep=0.4em] {\color{headerFontColor}\baposter@headerfont{##1}};%
+ %%%
+ }{\ifthenelse{\equal{\baposter@headershape}{small-rounded}} {%
+ %%%
+ \ifthenelse{\equal{\baposter@headerborder}{open}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \filldraw [style=header colors] (\baposter@box@name tnw) {[rc] -- (\baposter@box@name nw) -- (\baposter@box@name ne) } -- (\baposter@box@name tne);%
+ }{
+ \shadedraw [style=header colors] (\baposter@box@name tnw) {[rc] -- (\baposter@box@name nw) -- (\baposter@box@name ne) } -- (\baposter@box@name tne);%
+ }
+ }{\ifthenelse{\equal{\baposter@headerborder}{closed}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \filledraw [style=header colors] (\baposter@box@name tnw) {[rc] -- (\baposter@box@name nw) -- (\baposter@box@name ne) } -- (\baposter@box@name tne) -- cycle;%
+ }{
+ \shadedraw [style=header colors] (\baposter@box@name tnw) {[rc] -- (\baposter@box@name nw) -- (\baposter@box@name ne) } -- (\baposter@box@name tne) -- cycle;%
+ }
+ }{\ifthenelse{\equal{\baposter@headerborder}{none}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \fill [style=header colors] (\baposter@box@name outer tnw) {[rc] -- (\baposter@box@name outer nw) -- (\baposter@box@name outer ne)} -- (\baposter@box@name outer tne) -- cycle;%
+ }{
+ \shade [style=header colors] (\baposter@box@name outer tnw) {[rc] -- (\baposter@box@name outer nw) -- (\baposter@box@name outer ne)} -- (\baposter@box@name outer tne) -- cycle;%
+ }
+ }{\PackageError{baposter.cls}{Unknown header border \baposter@headerborder}{Edit your file to choose a valid option}}}}{}%
+ \path (\baposter@box@name nw) +(0.5\boxwidth,-1em) node[anchor=center] {\color{headerFontColor}\baposter@headerfont{##1}};%
+ %%%
+ }{\ifthenelse{\equal{\baposter@headershape}{roundedright}}{%
+ %%%
+ \ifthenelse{\equal{\baposter@headerborder}{open}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \filldraw [style=header colors] (\baposter@box@name tnw) -- (\baposter@box@name nw) {[rc] -- (\baposter@box@name ne) } -- (\baposter@box@name tne);%
+ }{
+ \shadedraw [style=header colors] (\baposter@box@name tnw) -- (\baposter@box@name nw) {[rc] -- (\baposter@box@name ne) } -- (\baposter@box@name tne);%
+ }
+ }{\ifthenelse{\equal{\baposter@headerborder}{closed}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \filldraw [style=header colors] (\baposter@box@name tnw) -- (\baposter@box@name nw) {[rc] -- (\baposter@box@name ne) } -- (\baposter@box@name tne) -- cycle;%
+ }{
+ \shadedraw [style=header colors] (\baposter@box@name tnw) -- (\baposter@box@name nw) {[rc] -- (\baposter@box@name ne) } -- (\baposter@box@name tne) -- cycle;%
+ }
+ }{\ifthenelse{\equal{\baposter@headerborder}{none}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \fill [style=header colors] (\baposter@box@name outer tnw) -- (\baposter@box@name outer nw) {[rc] -- (\baposter@box@name outer ne)} -- (\baposter@box@name outer tne) -- cycle;%
+ }{
+ \shade [style=header colors] (\baposter@box@name outer tnw) -- (\baposter@box@name outer nw) {[rc] -- (\baposter@box@name outer ne)} -- (\baposter@box@name outer tne) -- cycle;%
+ }
+ }{\PackageError{baposter.cls}{Unknown header border \baposter@headerborder}{Edit your file to choose a valid option}}}}{}%
+ \path (\baposter@box@name nw) +(0em,-1em) node[anchor=west,inner sep=0.4em,text depth=0.0em] {\color{headerFontColor}\baposter@headerfont{##1}};%
+ %%%
+ }{\ifthenelse{\equal{\baposter@headershape}{roundedleft}}{%
+ %%%
+ \ifthenelse{\equal{\baposter@headerborder}{open}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \filldraw [style=header colors,color=borderColor] (\baposter@box@name tnw) {[rc]-- (\baposter@box@name nw) } -- (\baposter@box@name ne) -- (\baposter@box@name tne);%
+ }{
+ \shadedraw [style=header colors,color=borderColor] (\baposter@box@name tnw) {[rc]-- (\baposter@box@name nw) } -- (\baposter@box@name ne) -- (\baposter@box@name tne);%
+ }
+ }{\ifthenelse{\equal{\baposter@headerborder}{closed}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \filldraw [style=header colors,color=borderColor] (\baposter@box@name tnw) {[rc]-- (\baposter@box@name nw) } -- (\baposter@box@name ne) -- (\baposter@box@name tne) -- cycle;%
+ }{
+ \shadedraw [style=header colors,color=borderColor] (\baposter@box@name tnw) {[rc]-- (\baposter@box@name nw) } -- (\baposter@box@name ne) -- (\baposter@box@name tne) -- cycle;%
+ }
+ }{\ifthenelse{\equal{\baposter@headerborder}{none}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \fill [style=header colors,color=borderColor] (\baposter@box@name outer tnw) {[rc]-- (\baposter@box@name outer nw) } -- (\baposter@box@name outer ne) -- (\baposter@box@name outer tne) -- cycle;%
+ }{
+ \shade [style=header colors,color=borderColor] (\baposter@box@name outer tnw) {[rc]-- (\baposter@box@name outer nw) } -- (\baposter@box@name outer ne) -- (\baposter@box@name outer tne) -- cycle;%
+ }
+ }{\PackageError{baposter.cls}{Unknown header border \baposter@headerborder}{Edit your file to choose a valid option}}}}{}%
+ \path (\baposter@box@name nw) +(0em,-1em) node[anchor=west,inner sep=0.4em] {\color{headerFontColor}\baposter@headerfont{##1}};%
+ %%%
+ }{\ifthenelse{\equal{\baposter@headershape}{rounded}} {%
+ %%%
+ \ifthenelse{\equal{\baposter@headerborder}{open}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \filldraw [style=header colors] (\baposter@box@name tnw) {[rc] -- (\baposter@box@name nw) -- (\baposter@box@name ne) } -- (\baposter@box@name tne);%
+ }{
+ \shadedraw [style=header colors] (\baposter@box@name tnw) {[rc] -- (\baposter@box@name nw) -- (\baposter@box@name ne) } -- (\baposter@box@name tne);%
+ }
+ }{\ifthenelse{\equal{\baposter@headerborder}{closed}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \filldraw [style=header colors] (\baposter@box@name tnw) {[rc] -- (\baposter@box@name nw) -- (\baposter@box@name ne) } -- (\baposter@box@name tne) -- cycle;%
+ }{
+ \shadedraw [style=header colors] (\baposter@box@name tnw) {[rc] -- (\baposter@box@name nw) -- (\baposter@box@name ne) } -- (\baposter@box@name tne) -- cycle;%
+ }
+ }{\ifthenelse{\equal{\baposter@headerborder}{none}}{%
+ \ifthenelse{\equal{\baposter@headershade}{plain}}{
+ \fill [style=header colors] (\baposter@box@name outer tnw) {[rc] -- (\baposter@box@name outer nw) -- (\baposter@box@name outer ne)} -- (\baposter@box@name outer tne) -- cycle;%
+ }{
+ \shade [style=header colors] (\baposter@box@name outer tnw) {[rc] -- (\baposter@box@name outer nw) -- (\baposter@box@name outer ne)} -- (\baposter@box@name outer tne) -- cycle;%
+ }
+ }{\PackageError{baposter.cls}{Unknown header border \baposter@headerborder}{Edit your file to choose a valid option}}}}{}%
+ \path (\baposter@box@name nw) +(0.5\boxwidth,-1em) node[anchor=center] {\color{headerFontColor}\baposter@headerfont{##1}};%
+ %%%
+ }{%
+ \typeout{Unknown header style \baposter@headershape}
+ \PackageError{baposter.cls}{Unknown header style \baposter@headershape}{Edit your file to choose a valid option}{}%
+ }}}}}%
+ %
+ \typeout{Sidebars}%
+ %% Sidebars%
+ \ifthenelse {\equal{\baposter@textborder}{none}} {%
+ }{\ifthenelse{\equal{\baposter@textborder}{bars}}{%
+ \begin{scope}[color=borderColor]%
+ \draw (\baposter@box@name tne) -- (\baposter@box@name se);%
+ \draw (\baposter@box@name tnw) -- (\baposter@box@name sw);%
+ \end{scope}%
+ }{\ifthenelse{\equal{\baposter@textborder}{coils}}{%
+ \begin{scope}[color=borderColor,segment amplitude=0.35em,segment length=0.4em,snake=coil]%
+ \draw (\baposter@box@name tne) -- (\baposter@box@name se);%
+ \draw (\baposter@box@name tnw) -- (\baposter@box@name sw);%
+ \end{scope}%
+ }{\ifthenelse{\equal{\baposter@textborder}{triangles}}{%
+ \begin{scope}[color=borderColor,segment amplitude=0.2em,segment length=0.4em,snake=triangles]%
+ \draw [snake=triangles] (\baposter@box@name tne) -- (\baposter@box@name se);%
+ \draw [snake=triangles] (\baposter@box@name tnw) -- (\baposter@box@name sw);%
+ \end{scope}%
+ }{\ifthenelse{\equal{\baposter@textborder}{rectangle}}{%
+ \begin{scope}[color=borderColor]%
+ \ifthenelse{\equal{\baposter@boxshade}{none}}{%
+ }{
+ \fill[box colors,rc] (\baposter@box@name tnw) -- (\baposter@box@name sw) -- (\baposter@box@name se) -- (\baposter@box@name tne);%
+ }
+ \draw[color=borderColor,rc] (\baposter@box@name tnw) -- (\baposter@box@name sw) -- (\baposter@box@name se) -- (\baposter@box@name tne);%
+ \end{scope}%
+ }{\ifthenelse{\equal{\baposter@textborder}{rounded}} {%
+ \ifthenelse{\equal{\baposter@boxshade}{none}}{%
+ }{
+ \fill[box colors,rc] (\baposter@box@name tnw) -- (\baposter@box@name sw) -- (\baposter@box@name se) -- (\baposter@box@name tne);%
+ }
+ \draw[color=borderColor,rc] (\baposter@box@name tnw) -- (\baposter@box@name sw) -- (\baposter@box@name se) -- (\baposter@box@name tne);%
+ }{\ifthenelse{\equal{\baposter@textborder}{roundedleft}} {%
+ \ifthenelse{\equal{\baposter@boxshade}{none}}{%
+ }{
+ \fill[box colors] (\baposter@box@name tnw) {[rc]-- (\baposter@box@name sw)} -- (\baposter@box@name se) -- (\baposter@box@name tne) -- cycle;%
+ }
+ \draw[color=borderColor,box colors] (\baposter@box@name tnw) {[rc]-- (\baposter@box@name sw)} -- (\baposter@box@name se) -- (\baposter@box@name tne);%
+ }{\ifthenelse{\equal{\baposter@textborder}{faded}}{%
+ \tikzstyle{west faded bar}=[color=borderColor]%
+ \tikzstyle{east faded bar}=[color=borderColor]%
+ \begin{scope}[west faded bar,x={(\baposter@box@name tnw)},y={(\baposter@box@name sw)}]%
+ \draw [draw opacity=1.0,west faded bar] (1.0,0.0) -- (0.9,0.1);%
+ \draw [draw opacity=0.9] (0.9,0.1) -- (0.8,0.2);%
+ \draw [draw opacity=0.8] (0.8,0.2) -- (0.7,0.3);%
+ \draw [draw opacity=0.7] (0.7,0.3) -- (0.6,0.4);%
+ \draw [draw opacity=0.6] (0.6,0.4) -- (0.5,0.5);%
+ \draw [draw opacity=0.5] (0.5,0.5) -- (0.4,0.6);%
+ \draw [draw opacity=0.4] (0.4,0.6) -- (0.3,0.7);%
+ \draw [draw opacity=0.3] (0.3,0.7) -- (0.2,0.8);%
+ \draw [draw opacity=0.2] (0.2,0.8) -- (0.1,0.9);%
+ \draw [draw opacity=0.1] (0.1,0.9) -- (0.0,1.0);%
+ \end{scope}%
+ %
+ \begin{scope}[east faded bar,x={(\baposter@box@name tne)},y={(\baposter@box@name se)}]%
+ \draw [draw opacity=1.0] (1.0,0.0) -- (0.9,0.1);%
+ \draw [draw opacity=0.9] (0.9,0.1) -- (0.8,0.2);%
+ \draw [draw opacity=0.8] (0.8,0.2) -- (0.7,0.3);%
+ \draw [draw opacity=0.7] (0.7,0.3) -- (0.6,0.4);%
+ \draw [draw opacity=0.6] (0.6,0.4) -- (0.5,0.5);%
+ \draw [draw opacity=0.5] (0.5,0.5) -- (0.4,0.6);%
+ \draw [draw opacity=0.4] (0.4,0.6) -- (0.3,0.7);%
+ \draw [draw opacity=0.3] (0.3,0.7) -- (0.2,0.8);%
+ \draw [draw opacity=0.2] (0.2,0.8) -- (0.1,0.9);%
+ \draw [draw opacity=0.1] (0.1,0.9) -- (0.0,1.0);%
+ \end{scope}%
+ }{\ifthenelse{\equal{\baposter@textborder}{rounded-small}} {%
+ \begin{scope}[color=borderColor,src]%
+ \draw (\baposter@box@name tnw) -- (\baposter@box@name sw) -- (\baposter@box@name se) -- (\baposter@box@name tne);%
+ \end{scope}%
+ }{%
+ \PackageError{baposter.cls}{Unknown text-box style \baposter@headerborder}{Edit your file to choose a valid option}}{}
+ }}}}}}}}%
+ %
+ \typeout{Drawing Text}%
+ %% Text Box%
+ \path (\baposter@box@name tnw) node(text) [anchor=north west,outer sep=-0.000em,text width=\boxwidth-1em,inner sep=0.5em,text justified] {\usebox{\baposter@content}};%
+ \end{scope}
+ }%
+%
+ %% Background%
+ \baposterShadedBG%
+ \hspace{-1.5em}%
+ \begin{tikzpicture}[inner sep=0pt,outer sep=0pt,line width=0.05em]%
+ \useasboundingbox (0em,0em) rectangle(\textwidth,\textheight);%
+ \path[shape=coordinate]%
+ (0pt,\colheight) coordinate(north west) (\textwidth,\colheight) coordinate(north east)%
+ (0pt,0pt) coordinate(south west) (\textwidth,0pt) coordinate(south east);%
+%
+ \ifthenelse{\equal{\baposter@eyecatcher}{no}}{ % Has no eye catcher
+ \setbox\baposter@titleimage@left=\hbox{}%
+ }{ % Has eye catcher%
+ \setbox\baposter@titleimage@left=\hbox{#2}%
+ }%
+ \setlength{\baposter@titleimage@left@width}{\wd\baposter@titleimage@left}%
+ \setbox\baposter@titleimage@right=\hbox{#5}%
+ \setlength{\baposter@titleimage@right@width}{\wd\baposter@titleimage@right}%
+ \setlength{\baposter@titleimage@textwidth}{\textwidth}%
+ \addtolength{\baposter@titleimage@textwidth}{-\baposter@titleimage@left@width}%
+ \addtolength{\baposter@titleimage@textwidth}{-\baposter@titleimage@right@width}%
+
+ \typeout{#3}
+ %
+ %
+ % % Draw Header%
+ \draw (north west) +(0em,1em+0.5\headerheight) node(image)[anchor=west] { {\usebox{\baposter@titleimage@left }} };%
+ \draw (north east) +(0em,1em+0.5\headerheight) node(logo) [anchor=east] { {\usebox{\baposter@titleimage@right}} };%
+ \ifthenelse{\equal{\baposter@eyecatcher}{no}}{ % Has no eye catcher
+ \draw (image.east) node(title)[anchor=west] { {\begin{minipage}{\baposter@titleimage@textwidth}{\bf\Huge #3}\\{\Large #4}\end{minipage}} };%
+ }{ % Has eye catcher%
+ \draw (image.east) node(title)[anchor=west,text width=\baposter@titleimage@textwidth]{%
+ \begin{minipage}{\baposter@titleimage@textwidth}%
+ \begin{center}%
+ \textbf{\Huge #3}\\%
+ {\Large #4}%
+ \end{center}%
+ \end{minipage}
+ };%
+ }%
+ }%
+% The body
+ {%
+ % The end, draw gridlines if neccesary
+ \ifthenelse{\equal{\baposter@grid}{yes}}{ % TODO: Understand boolean options declaration%
+ \draw[draw=green,draw opacity=0.7] %
+ (0\colwidth,0pt) -- (0\colwidth,\colheight)%
+ (1\colwidth,0pt) -- (1\colwidth,\colheight)%
+ (1\colwidth+1\baposter@@colspacing,0pt) -- (1\colwidth+1\baposter@@colspacing,\colheight)%
+ (2\colwidth+1\baposter@@colspacing,0pt) -- (2\colwidth+1\baposter@@colspacing,\colheight)%
+ (2\colwidth+2\baposter@@colspacing,0pt) -- (2\colwidth+2\baposter@@colspacing,\colheight)%
+ (3\colwidth+2\baposter@@colspacing,0pt) -- (3\colwidth+2\baposter@@colspacing,\colheight)%
+ (3\colwidth+3\baposter@@colspacing,0pt) -- (3\colwidth+3\baposter@@colspacing,\colheight)%
+ (4\colwidth+3\baposter@@colspacing,0pt) -- (4\colwidth+3\baposter@@colspacing,\colheight)%
+ %
+ (0pt,0.0\colheight) -- (\textwidth,0.0\colheight) node[anchor=west] {1.0}%
+ (0pt,0.1\colheight) -- (\textwidth,0.1\colheight) node[anchor=west] {0.9}%
+ (0pt,0.2\colheight) -- (\textwidth,0.2\colheight) node[anchor=west] {0.8}%
+ (0pt,0.3\colheight) -- (\textwidth,0.3\colheight) node[anchor=west] {0.7}%
+ (0pt,0.4\colheight) -- (\textwidth,0.4\colheight) node[anchor=west] {0.6}%
+ (0pt,0.5\colheight) -- (\textwidth,0.5\colheight) node[anchor=west] {0.5}%
+ (0pt,0.6\colheight) -- (\textwidth,0.6\colheight) node[anchor=west] {0.4}%
+ (0pt,0.7\colheight) -- (\textwidth,0.7\colheight) node[anchor=west] {0.3}%
+ (0pt,0.8\colheight) -- (\textwidth,0.8\colheight) node[anchor=west] {0.2}%
+ (0pt,0.9\colheight) -- (\textwidth,0.9\colheight) node[anchor=west] {0.1}%
+ (0pt,1.0\colheight) -- (\textwidth,1.0\colheight) node[anchor=west] {0.0};%
+ }{%
+ }
+ \end{tikzpicture}%
+ % \xkvview{}
+ }%
Copied: docs/posters/DH2010/header.tex (from rev 1756, docs/posters/header.tex)
===================================================================
--- docs/posters/DH2010/header.tex (rev 0)
+++ docs/posters/DH2010/header.tex 2010-08-07 09:51:32 UTC (rev 1760)
@@ -0,0 +1,170 @@
+\documentclass[portrait,final]{baposter}
+%\documentclass[a4shrink,portrait,final]{baposter}
+% Usa a4shrink for an a4 sized paper.
+
+% A0 poster board, 841 x 1189mm
+
+\tracingstats=2
+
+\usepackage{times}
+\usepackage{calc}
+\usepackage{graphicx}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{relsize}
+\usepackage{multirow}
+\usepackage{bm}
+\usepackage[style=verbose-ibid]{biblatex}
+\bibliography{poster}
+
+\usepackage{graphicx}
+\usepackage{multicol}
+
+\usepackage{pgfbaselayers}
+\pgfdeclarelayer{background}
+\pgfdeclarelayer{foreground}
+\pgfsetlayers{background,main,foreground}
+
+\usepackage{helvet}
+%\usepackage{bookman}
+\usepackage{palatino}
+\newcommand{\hl}[2]{\vspace{-0.2em}\colorbox{lightyellow}{\hspace{-3pt}#1\hspace{-3pt}}\vspace{#2}}
+
+\newcommand{\captionfont}{\footnotesize}
+
+\selectcolormodel{cmyk}
+
+\graphicspath{{images/}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%% Some math symbols used in the text
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format
+\newcommand{\Matrix}[1]{\begin{bmatrix} #1 \end{bmatrix}}
+\newcommand{\Vector}[1]{\Matrix{#1}}
+\newcommand*{\SET}[1] {\ensuremath{\mathcal{#1}}}
+\newcommand*{\MAT}[1] {\ensuremath{\mathbf{#1}}}
+\newcommand*{\VEC}[1] {\ensuremath{\bm{#1}}}
+\newcommand*{\CONST}[1]{\ensuremath{\mathit{#1}}}
+\newcommand*{\norm}[1]{\mathopen\| #1 \mathclose\|}% use instead of $\|x\|$
+\newcommand*{\abs}[1]{\mathopen| #1 \mathclose|}% use instead of $\|x\|$
+\newcommand*{\absLR}[1]{\left| #1 \right|}% use instead of $\|x\|$
+
+\def\norm#1{\mathopen\| #1 \mathclose\|}% use instead of $\|x\|$
+\newcommand{\normLR}[1]{\left\| #1 \right\|}% use instead of $\|x\|$
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Multicol Settings
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\setlength{\columnsep}{0.7em}
+\setlength{\columnseprule}{0mm}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Save space in lists. Use this after the opening of the list
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\compresslist}{%
+\setlength{\itemsep}{1pt}%
+\setlength{\parskip}{0pt}%
+\setlength{\parsep}{0pt}%
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Begin of Document
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{document}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Here starts the poster
+%%%---------------------------------------------------------------------------
+%%% Format it to your taste with the options
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Define some colors
+\definecolor{silver}{cmyk}{0,0,0,0.3}
+\definecolor{yellow}{cmyk}{0,0,0.9,0.0}
+\definecolor{reddishyellow}{cmyk}{0,0.22,1.0,0.0}
+\definecolor{black}{cmyk}{0,0,0.0,1.0}
+\definecolor{darkYellow}{cmyk}{0,0,1.0,0.5}
+\definecolor{darkSilver}{cmyk}{0,0,0,0.1}
+
+%\definecolor{darkerblue}{cmyk}{0.46,0.35,0,0.38}
+\definecolor{darkerblue}{cmyk}{0.29,0.27,0,0.16}
+\definecolor{darkestblue}{cmyk}{0.72,0.68,0,0.66}
+\definecolor{lighterblue}{cmyk}{0.08,0.07,0,0.05}
+%\definecolor{lighterblue}{cmyk}{0.29,0.27,0,0.16}
+\definecolor{lightestblue}{cmyk}{0.02,0.02,0,0}
+\definecolor{lightyellow}{cmyk}{0,0,0.3,0.0}
+\definecolor{lighteryellow}{cmyk}{0,0,0.1,0.0}
+\definecolor{lighteryellow}{cmyk}{0,0,0.1,0.0}
+\definecolor{lightestyellow}{cmyk}{0,0,0.05,0.0}
+
+\renewcommand{\refname}{}
+\renewcommand{\bibfont}{\smaller}
+
+%%
+\typeout{Poster Starts}
+\background{
+ \begin{tikzpicture}[remember picture,overlay]%
+ \draw (current page.north west)+(-2em,2em) node[anchor=north west] {\includegraphics[height=1.1\textheight]{silhouettes_background}};
+ \end{tikzpicture}%
+}
+
+\newlength{\leftimgwidth}
+\begin{poster}%
+ % Poster Options
+ {
+ % Color style
+ bgColorOne=lightestblue,
+ bgColorTwo=lightestyellow,
+ headerColorOne=lighterblue,
+ borderColor=lighterblue,
+ headerFontColor=black,
+ boxColorOne=lightyellow,
+ boxColorTwo=lighteryellow,
+ % Format of textbox
+ textborder=faded,
+ % Format of text header
+ headerborder=open,
+ headerheight=0.08\textheight,
+ colspacing=0.7em,
+ headershape=rounded,
+% headershape=roundedright,
+ headershade=plain,
+ headerfont=\Large\textsf, %Sans Serif
+ headerFontColor=darkestblue,
+ boxshade=plain,
+ background=plain,
+ eyecatcher=yes,
+ linewidth=2pt
+ }
+ % Poster Options
+% {
+ % Show grid to help with alignment
+% grid=no,
+ % Column spacing
+% colspacing=1em,
+ % Color style
+% bgColorOne=lighteryellow,
+% bgColorTwo=lightestyellow,
+% borderColor=reddishyellow,
+% headerColorOne=yellow,
+% headerColorTwo=reddishyellow,
+% headerFontColor=black,
+% boxColorOne=lightyellow,
+% boxColorTwo=lighteryellow,
+ % Format of textbox
+% textborder=roundedleft,
+ % Format of text header
+% eyecatcher=no,
+% headerborder=open,
+% headerheight=0.08\textheight,
+% headershape=roundedright,
+% headershade=plain,
+% headerfont=\Large\textsf, %Sans Serif
+% boxshade=plain,
+% background=shade-tb,
+% background=plain,
+% linewidth=2pt
+% }
Deleted: docs/posters/DH2010/images/logo.pdf
===================================================================
(Binary files differ)
Deleted: docs/posters/DH2010/images/msrlogo.pdf
===================================================================
--- docs/posters/images/msrlogo.pdf 2010-07-12 16:17:08 UTC (rev 1756)
+++ docs/posters/DH2010/images/msrlogo.pdf 2010-08-07 09:51:32 UTC (rev 1760)
@@ -1,186 +0,0 @@
-%PDF-1.3
-%\xC7쏢
-6 0 obj
-<</Length 7 0 R/Filter /FlateDecode>>
-stream
-x\x9Cm\x9C[\x8E%\xBD\xAE\x9C\xDFkk˩[J\x86\xCF\xCB@\xDB\xDBp\xB5\x81
-\xCFp|AI\xB9\xBA\xFAG?TK\x95\x89\xA4HF\x90Y\xFFy]\xEF\xF4\xBA\xF8\xB7~\xFE\xFA\xFD\xF5?\xFEk\xBC\xFE\xD7\xFF\xFB\xFA\xCF\xD7\xF5\xEAw\x8F6_\xBF\xBF\xF8\xDD\xF7W\xEE-\xBFk\xFB\xE3\xFF\xFB\x9A\xEF\xAF\xFF~\xFD__w\xBD\xD2\xEB\xFF|\xA5\xD7\xFF\xFEJ\xD7h\xEF\xDA_\xF7\x9C\x9E\xB3g\xFA\x95\xDE)\x95\x97\xC7W\xD68\xBFs\xF7\xB8\xBES\x8C\xE7\xBC_\xBF\xB8\xA3\xE8R͔\xF7H7W\xA4w\x99\xD7w\xCE]\xE3>r\x8F\xB9\xA37\xBD\xEE\xCC|\x9F\x99{\xD6w\xBF\xD6\xCC|\xF7?&\xF4\x9AV\xCF̳\xF4\xFB]\xAE\xF9\xFA\xB9\x95__\xFF\xD6=\xF3z\x8F\xFBu\xEBYw\xB1\xBD\x9B\xC5\xEE\x99\xF5\=\xEF\xD6/Jk1\x93\xDE-kF+H\xED\xE5\xA5\xF0\x94ɾZlHo\xDC\xE3_ˏ\x99\x8F
-}\xBC\xA7\xEB\xA9\xE3f\xB4\x9Bw\x9Bco\xBA\xDE\xCCɹ\x9E\xEF\xD2\xF7\xDC[\xD8\xFD]PW{gI\xC7ꐸ\xAD\x8Dy\xF9\xBDﶾRg\x8C\x98\xF4<_\xBF&\xB4\xA9{\xDDpU˵\x96oв\xA7\xCC`,}\xDF\xEF\xC6
-\xE5\xDD\xCB\x8Bl>\xBFG\xC9//\xB9u\x8F\xCB]\xE2\x8E3\x93\xB5=oKVT,\xB0a\x91j[7W\xC8\xCE\xFB\xDA\xE8\xFA\xD7_\x8A\xFC\xE5ν\x8E\x92C\xB9{f\xC8\xE2y\xEA\xEC\xEF;dQo\x8F\xCBfj\xF7~n\xD2I\x8F\xAFK\xBC\xB7\xAC;e\xDD\xE8u]2\xD13\xB6\xAA\xAB\x96\xF0qE\xBF\xE2\xF6²oQ\x8E\xA4\xD8\xFA\x9D}\xB9\x96\xB6s_\x96\xE6x\xF7ٟal\xC1\xD7{B\xEF7\xB2\xD4\xED]\xB2\xF5+\xF1\x82eVe\xC4\xBAV(u\xC9\xDB\xEBC]\xA7\xB1?;\xD8\xE3__ۄ\x9E+\x90\xC1z\x82\xF5\x89\x94\xE2\xB5\xC5yE\x8E#V\xE1B\xCCƕ^?ᓗ\xF0\x9E\xAA\xF2A\xBF\xCFz\x9D\xDAH\xBA\xAE8u2\xCB\xECE4\x89P/\xED\xEFYg\xDA\xCB\xEC\xD5&!ٲ\xCCd\xF0\xC6|\x92clQhG\xF9\xE3\x8A{\xBCo?@vư\xE2yE\xEFe[\xEF\xD4qsiâ\xC2\xEA\xF23\xD4\x96\xDB\xDA\x8C/\xE0\xF6b7\xD6z\x8D\xE89\xFD\x92rG\x88Z+\xE8\xDD\xC62g\xE5Hb\xF2*\xB2\xEB\xB5Il\x8F\xD7\xE1\xAA\xF5\xE3
-IA\xA77\x9F>\x8B\xA9s\xFCuFo\x9C\2\xBC\xEB\xAC\xE9u/\xDF\xC5\xE9\xFDS\xBF\xBE\xFE\xF5\x95z~\xB5.ü\xAC\xE4\xA2\xFD\xEC\x99\xEF3\x83\xAF:\xC2ό\xF7*\xEFʘ\xF5tGX\x90]\xCA4z\xB9\xF6ɺ9\xD0\xF9\xCC\xF0\xE9A+\xEC9\xBF\xAF\xA2\x95\xDE m\xF1;& 3\xCB\xDB"\xABv!\x9D\x91\x84==\xEB\xE2T0\x9E\x99\x8C\x97m(\xBD\xAB֣{\xA5b \x96\xD1_9ɘ\xB52\xFD\xE4\x96,i5I\xF2c\xA52^^\xF8\xAC4sb\xF4V\xCA Ѹ\xDD>\xF3I\x86Q\xCE\xF1\xDC\xF6O{\xE6Y\xD8\xF5\xC7\xFF{ӕ\xF1lm
-W\xF1\xCC\xC8^UV\x98\xB5\xB9Y\xCBg\˝t\xAD6\xFDV\xBD/\xA3@\x8E\xD5ҳ\xA5s\x96x\xE6\x9E\xF9\xFE\x92\xEFY\xBB%L\xDB\xD6\xC0\xF1\x92t\x8A\x8Fl\xB2\xB5\xDCZN\xD6!\x92dۓl\xE1\xACk\xD9\xC9_Ͼ\xFE%\xF1\x87\xD8cʒ"z\xFFPњ!m\xA5\xC5]\xCF<w\xFD[s:d"u\xCAE\x93\xE3<3R\xADNtn\xC5\xBAW9\xBD\x81\xA7\xF8\xF7\x95\xB2\xAB\\x87\xFDd/\xF7{\xEA\xE8fݙ\xD8e\x91uʟ檀\x8D6\xD6Xw\x94n\x9D\x9E+\x8Aߖ-\x91\xC6\xE9ݛ_Q30\xE7\xE9\xA3\xD9\xF5\xA8ykQ\xE8Q\x91\x98Ef\x85\x96g\xDB\xE0\x8E5\xA3\xE5_2\xBC\xF3\x84v\xFB\x8A\xFD\x8A\xB6\xDD\xC8Y\x83N\xF5\xAC\x91\xD8"՜]\xAC1\xFB^\xFB<W,9\xEC'lI=\xEFز܋زދ\xFC\xA1
-<I\x91\xE3̅:\xEC |