mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)
Mark Smith ([staff profile] mark) wrote in [site community profile] changelog2010-01-05 10:53 pm

[dw-free] Ensure all get_link functions have text that can be changed in core2

[commit: http://hg.dwscoalition.org/dw-free/rev/f64ccc1de255]

http://bugs.dwscoalition.org/show_bug.cgi?id=920

Convert interaction links from being translation system dependent to user
configurable.

Patch by [personal profile] afuna.

Files modified:
  • bin/upgrading/s2layers/core2.s2
  • cgi-bin/LJ/S2.pm
--------------------------------------------------------------------------------
diff -r 93a78ab9062d -r f64ccc1de255 bin/upgrading/s2layers/core2.s2
--- a/bin/upgrading/s2layers/core2.s2	Tue Jan 05 22:47:01 2010 +0000
+++ b/bin/upgrading/s2layers/core2.s2	Tue Jan 05 22:53:19 2010 +0000
@@ -2100,6 +2100,59 @@ set text_module_customtext = "Custom tex
 set text_module_customtext = "Custom text";
 set text_module_customtext_content = "";
 set text_module_customtext_url = "";
+
+##===============================
+## Text - user linkbar
+##===============================
+property string text_user_manage_membership {
+    des = "Link text to manage your membership to a community journal";
+    example = "Membership";
+}
+
+property string text_user_trust {
+    des = "Link text to manage your access settings for this journal";
+    example = "Manage Access";
+}
+
+property string text_user_watch {
+    des = "Link text to manage your subscription settings for this journal";
+    example = "Manage Subscription";
+}
+
+property string text_user_post_entry {
+    des = "Link text to post an entry to this journal";
+    example = "Post Entry";
+}
+
+property string text_user_message {
+    des = "Link text to send a message to this user";
+    example = "Send Message";
+}
+
+property string text_user_track {
+    des = "Link text to track new entries made to this journal";
+    example = "Track Entries";
+}
+
+property string text_user_memories {
+    des = "Link text to memories saved by this journal";
+    example = "Memories";
+}
+
+property string text_user_tell_friend {
+    des = "Link text to send other people a link to this journal";
+    example = "Share Journal Link";
+}
+
+set text_user_manage_membership = "Membership";
+set text_user_trust = "Manage Access";
+set text_user_watch = "Manage Subscription";
+set text_user_post_entry = "Post";
+set text_user_message = "Send Message";
+set text_user_track = "Track Entries";
+set text_user_memories = "Memories";
+set text_user_tell_friend = "Share Journal Link";
+
 
 ##===============================
 ## Text - entry comment-related
diff -r 93a78ab9062d -r f64ccc1de255 cgi-bin/LJ/S2.pm
--- a/cgi-bin/LJ/S2.pm	Tue Jan 05 22:47:01 2010 +0000
+++ b/cgi-bin/LJ/S2.pm	Tue Jan 05 22:53:19 2010 +0000
@@ -3476,20 +3476,23 @@ sub UserLite__get_link
     my $linkbar = $this->{_u}->user_link_bar( LJ::get_remote() );
 
     my $button = sub {
-        my $link = $_[0];
+        my ( $link, $key ) = @_;
         return undef unless $link;
 
-        return LJ::S2::Link( $link->{url}, $link->{title}, LJ::S2::Image( $link->{image}, $link->{width} || 20, $link->{height} || 18 ) );
-    };
-
-    return $button->( $linkbar->manage_membership ) if $key eq 'manage_membership';
-    return $button->( $linkbar->trust ) if $key eq 'trust';
-    return $button->( $linkbar->watch ) if $key eq 'watch';
-    return $button->( $linkbar->post ) if $key eq 'post_entry';
-    return $button->( $linkbar->message ) if $key eq 'message';
-    return $button->( $linkbar->track ) if $key eq 'track';
-    return $button->( $linkbar->memories ) if $key eq 'memories';
-    return $button->( $linkbar->tellafriend ) if $key eq 'tell_friend';
+        my $caption = $ctx->[S2::PROPS]->{userlite_interaction_links} eq "text"
+            ? $ctx->[S2::PROPS]->{"text_user_$key"}
+            : $link->{title};
+        return LJ::S2::Link( $link->{url}, $caption, LJ::S2::Image( $link->{image}, $link->{width} || 20, $link->{height} || 18 ) );
+    };
+
+    return $button->( $linkbar->manage_membership, $key ) if $key eq 'manage_membership';
+    return $button->( $linkbar->trust, $key ) if $key eq 'trust';
+    return $button->( $linkbar->watch, $key ) if $key eq 'watch';
+    return $button->( $linkbar->post, $key ) if $key eq 'post_entry';
+    return $button->( $linkbar->message, $key ) if $key eq 'message';
+    return $button->( $linkbar->track, $key ) if $key eq 'track';
+    return $button->( $linkbar->memories, $key ) if $key eq 'memories';
+    return $button->( $linkbar->tellafriend, $key ) if $key eq 'tell_friend';
 
     # Else?
     return undef;
--------------------------------------------------------------------------------