a) if site=x, with x being the local site is used, the tag will be 
treated as though it has no site= attribute.

        b) if other people use the Dreamwidth code, links to Dreamwidth with 
site=dreamwidth.org are parsed correctly and get the correct icon.


        Patch by yvi. 

diffs (42 lines):

diff -r d12eef88e5a3 -r afe115ff71bd cgi-bin/DW/External/Site.pm
--- a/cgi-bin/DW/External/Site.pm       Thu Jul 02 02:44:30 2009 +0000
+++ b/cgi-bin/DW/External/Site.pm       Thu Jul 02 03:52:21 2009 +0000
@@ -25,6 +25,7 @@ use DW::External::Site::JournalFen;
 use DW::External::Site::JournalFen;
 use DW::External::Site::Inksome;
 use DW::External::Site::DeadJournal;
+use DW::External::Site::Dreamwidth;
 use DW::External::Site::Unknown;
 
 my %domaintosite;
@@ -36,6 +37,8 @@ my %idtosite;
 $domaintosite{"deadjournal.com"} = DW::External::Site->new("4", 
"www.deadjournal.com", "deadjournal.com", "DeadJournal", "lj");
 $domaintosite{"inksome.com"} = DW::External::Site->new("5", "www.inksome.com", 
"inksome.com", "Inksome", "lj");
 $domaintosite{"journalfen.net"} = DW::External::Site->new("6", 
"www.journalfen.net", "journalfen.net", "JournalFen", "lj");
+$domaintosite{"dreamwidth.org"} = DW::External::Site->new("7", 
"www.dreamwidth.org", "dreamwidth.org", "Dreamwidth", "lj");
+
 
 foreach my $value (values %domaintosite) {
     $idtosite{$value->{siteid}} = $value;
diff -r d12eef88e5a3 -r afe115ff71bd cgi-bin/cleanhtml.pl
--- a/cgi-bin/cleanhtml.pl      Thu Jul 02 02:44:30 2009 +0000
+++ b/cgi-bin/cleanhtml.pl      Thu Jul 02 03:52:21 2009 +0000
@@ -490,7 +490,8 @@ sub clean
                                            exists $attr->{comm} ? 
$attr->{comm} : undef;
 
                 # allow external sites
-                if ( my $site = $attr->{site} ) {
+                # do not use link to an external site if site attribute is 
current domain
+                if ( (my $site = $attr->{site}) && ($attr->{site} ne 
$LJ::DOMAIN) ) {
 
                     # try to load this u...@site combination
                     if ( my $ext_u = DW::External::User->new( user => $user, 
site => $site ) ) {
@@ -511,7 +512,7 @@ sub clean
                                     LJ::ehtml( LJ::no_utf8_flag( $site ) ) . 
"]</b>";
                     }
 
-                # failing that, no site, use the local behavior
+                # failing that, no site or local site, use the local behavior
                 } elsif (length $user) {
                     my $orig_user = $user; # save for later, in case
                     $user = LJ::canonical_username($user);
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to