Skip to content

Commit

Permalink
Merge pull request #1459 from afuna/external-sites-list-bug-1456
Browse files Browse the repository at this point in the history
[#1456] Avoid duplication of site names with aliases
  • Loading branch information
afuna committed Jun 29, 2015
2 parents 3f6a8a8 + 5b8394a commit a7413ad
Showing 1 changed file with 41 additions and 38 deletions.
79 changes: 41 additions & 38 deletions cgi-bin/DW/External/Site.pm
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ LJ::ModuleLoader->require_subclasses( "DW::External::Site" );

my %domaintosite;
my %idtosite;
my @all_sites_without_alias;

### static initializers
# with tld
Expand All @@ -40,7 +41,6 @@ $domaintosite{"inksome.com"} = DW::External::Site->new("5", "www.inksome.com", "
$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");
$domaintosite{"archiveofourown.org"} = DW::External::Site->new("8", "www.archiveofourown.org", "archiveofourown.org", "ArchiveofOurOwn", "AO3");
$domaintosite{"ao3.org"} = $domaintosite{"archiveofourown.org"};
$domaintosite{"twitter.com"} = DW::External::Site->new("9", "twitter.com", "twitter.com", "Twitter", "Twitter");
$domaintosite{"tumblr.com"} = DW::External::Site->new("10", "tumblr.com", "tumblr.com", "Tumblr", "Tumblr");
$domaintosite{"etsy.com"} = DW::External::Site->new("11", "www.etsy.com", "etsy.com", "Etsy", "Etsy");
Expand All @@ -58,41 +58,44 @@ $domaintosite{"pinterest.com"} = DW::External::Site->new("22", "www.pinterest.co
$domaintosite{"youtube.com"} = DW::External::Site->new("23", "www.youtube.com", "youtube.com", "YouTube", "yt");
$domaintosite{"github.com"} = DW::External::Site->new("24", "www.github.com", "github.com", "github", "gh");

+# without tld
+$domaintosite{"livejournal"} = $domaintosite{"livejournal.com"};
+$domaintosite{"lj"} = $domaintosite{"livejournal.com"};
+$domaintosite{"insanejournal"} = $domaintosite{ "insanejournal.com"};
+$domaintosite{"ij"} = $domaintosite{ "insanejournal.com"};
+$domaintosite{"deadjournal"} = $domaintosite{"deadjournal.com"};
+$domaintosite{"dj"} = $domaintosite{"deadjournal.com"};
+$domaintosite{"deviantart"} = $domaintosite{"deviantart.com"};
+$domaintosite{"da"} = $domaintosite{"deviantart.com"};
+$domaintosite{"inksome"} = $domaintosite{"inksome.com"};
+$domaintosite{"journalfen"} = $domaintosite{"journalfen.net"};
+$domaintosite{"jf"} = $domaintosite{"journalfen.net"};
+$domaintosite{"dreamwidth"} = $domaintosite{"dreamwidth.org"};
+$domaintosite{"dw"} = $domaintosite{"dreamwidth.org"};
+$domaintosite{"archiveofourown"} = $domaintosite{"archiveofourown.org"};
+$domaintosite{"ao3"} = $domaintosite{"archiveofourown.org"};
+$domaintosite{"twitter"} = $domaintosite{"twitter.com"};
+$domaintosite{"tumblr"} = $domaintosite{"tumblr.com"};
+$domaintosite{"etsy"} = $domaintosite{"etsy.com"};
+$domaintosite{"diigo"} = $domaintosite{"diigo.com"};
+$domaintosite{"blogspot"} = $domaintosite{"blogspot.com"};
+$domaintosite{"blogger.com"} = $domaintosite{"blogspot.com"};
+$domaintosite{"blogger"} = $domaintosite{"blogspot.com"};
+$domaintosite{"delicious"} = $domaintosite{"delicious.com"};
+$domaintosite{"deviantart"} = $domaintosite{"deviantart.com"};
+$domaintosite{"ravelry"} = $domaintosite{"ravelry.com"};
+$domaintosite{"wordpress"} = $domaintosite{"wordpress.com"};
+$domaintosite{"plurk"} = $domaintosite{"plurk.com"};
+$domaintosite{"pinboard"} = $domaintosite{"pinboard.in"};
+$domaintosite{"ffn"} = $domaintosite{"fanfiction.net"};
+$domaintosite{"pinterest"} = $domaintosite{"pinterest.com"};
+$domaintosite{"youtube"} = $domaintosite{"youtube.com"};
+$domaintosite{"github"} = $domaintosite{"github.com"};

foreach my $value (values %domaintosite) {
@all_sites_without_alias = values %domaintosite;

# without tld
$domaintosite{"livejournal"} = $domaintosite{"livejournal.com"};
$domaintosite{"lj"} = $domaintosite{"livejournal.com"};
$domaintosite{"insanejournal"} = $domaintosite{ "insanejournal.com"};
$domaintosite{"ij"} = $domaintosite{ "insanejournal.com"};
$domaintosite{"deadjournal"} = $domaintosite{"deadjournal.com"};
$domaintosite{"dj"} = $domaintosite{"deadjournal.com"};
$domaintosite{"deviantart"} = $domaintosite{"deviantart.com"};
$domaintosite{"da"} = $domaintosite{"deviantart.com"};
$domaintosite{"inksome"} = $domaintosite{"inksome.com"};
$domaintosite{"journalfen"} = $domaintosite{"journalfen.net"};
$domaintosite{"jf"} = $domaintosite{"journalfen.net"};
$domaintosite{"dreamwidth"} = $domaintosite{"dreamwidth.org"};
$domaintosite{"dw"} = $domaintosite{"dreamwidth.org"};
$domaintosite{"archiveofourown"} = $domaintosite{"archiveofourown.org"};
$domaintosite{"ao3.org"} = $domaintosite{"archiveofourown.org"};
$domaintosite{"ao3"} = $domaintosite{"archiveofourown.org"};
$domaintosite{"twitter"} = $domaintosite{"twitter.com"};
$domaintosite{"tumblr"} = $domaintosite{"tumblr.com"};
$domaintosite{"etsy"} = $domaintosite{"etsy.com"};
$domaintosite{"diigo"} = $domaintosite{"diigo.com"};
$domaintosite{"blogspot"} = $domaintosite{"blogspot.com"};
$domaintosite{"blogger.com"} = $domaintosite{"blogspot.com"};
$domaintosite{"blogger"} = $domaintosite{"blogspot.com"};
$domaintosite{"delicious"} = $domaintosite{"delicious.com"};
$domaintosite{"deviantart"} = $domaintosite{"deviantart.com"};
$domaintosite{"ravelry"} = $domaintosite{"ravelry.com"};
$domaintosite{"wordpress"} = $domaintosite{"wordpress.com"};
$domaintosite{"plurk"} = $domaintosite{"plurk.com"};
$domaintosite{"pinboard"} = $domaintosite{"pinboard.in"};
$domaintosite{"ffn"} = $domaintosite{"fanfiction.net"};
$domaintosite{"pinterest"} = $domaintosite{"pinterest.com"};
$domaintosite{"youtube"} = $domaintosite{"youtube.com"};
$domaintosite{"github"} = $domaintosite{"github.com"};

foreach my $value (@all_sites_without_alias) {
$idtosite{$value->{siteid}} = $value;
}

Expand Down Expand Up @@ -136,13 +139,13 @@ sub get_site {


# returns a list of all supported sites for linking
sub get_sites { return values %domaintosite; }
sub get_sites { return @all_sites_without_alias; }

# returns a list of all supported sites for crossposting
sub get_xpost_sites {
my %protocols = DW::External::XPostProtocol->get_all_protocols;
return grep { exists $protocols{ $_->{servicetype} } && LJ::is_enabled( "external_sites", $_ ) }
values %domaintosite;
@all_sites_without_alias;
}

# returns the appropriate site by site_id
Expand Down

0 comments on commit a7413ad

Please sign in to comment.