[dw-free] fold more pages into user-space
[commit: http://hg.dwscoalition.org/dw-free/rev/2a309f4e27e2]
http://bugs.dwscoalition.org/show_bug.cgi?id=123
Redirect allpics.bml to /icons
Patch by
afuna.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=123
Redirect allpics.bml to /icons
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- cgi-bin/Apache/LiveJournal.pm
- cgi-bin/DW/Logic/ProfilePage.pm
- cgi-bin/LJ/Event/NewUserpic.pm
- cgi-bin/LJ/S2.pm
- cgi-bin/LJ/User.pm
- cgi-bin/ljfeed.pl
- cgi-bin/ljlib.pl
- cgi-bin/talklib.pl
- cgi-bin/weblib.pl
- htdocs/allpics.bml
- htdocs/support/see_request.bml
- htdocs/tools/endpoints/multisearch.bml
-------------------------------------------------------------------------------- diff -r af27432f0c0f -r 2a309f4e27e2 cgi-bin/Apache/LiveJournal.pm --- a/cgi-bin/Apache/LiveJournal.pm Sun Jul 19 07:34:30 2009 +0000 +++ b/cgi-bin/Apache/LiveJournal.pm Sun Jul 19 07:54:57 2009 +0000 @@ -575,6 +575,11 @@ sub trans or return 404; return redir($r, "$LJ::SITEROOT/update.bml?usejournal=".$u->{'user'}); + } + + if ( $opts->{mode} eq "icons" ) { + $r->notes->{_journal} = $opts->{user}; + return $bml_handler->( "$LJ::HOME/htdocs/allpics.bml" ); } %RQ = %$opts; diff -r af27432f0c0f -r 2a309f4e27e2 cgi-bin/DW/Logic/ProfilePage.pm --- a/cgi-bin/DW/Logic/ProfilePage.pm Sun Jul 19 07:34:30 2009 +0000 +++ b/cgi-bin/DW/Logic/ProfilePage.pm Sun Jul 19 07:54:57 2009 +0000 @@ -107,7 +107,7 @@ sub userpic { # now determine what caption text to show if ( $remote && $remote->can_manage( $u ) ) { if ( LJ::userpic_count( $u ) ) { - $ret->{userpic_url} = "$LJ::SITEROOT/allpics.bml?user=$user"; + $ret->{userpic_url} = $u->allpics_base; $ret->{caption_text} = LJ::Lang::ml( '.section.edit' ); $ret->{caption_url} = "$LJ::SITEROOT/editpics.bml?authas=$user" } else { @@ -117,7 +117,7 @@ sub userpic { } } else { if ( LJ::userpic_count( $u ) ) { - $ret->{userpic_url} = "$LJ::SITEROOT/allpics.bml?user=$user"; + $ret->{userpic_url} = $u->allpics_base; } } } @@ -294,7 +294,7 @@ sub userpic_stats { push @ret, LJ::Lang::ml( '.details.userpics', { num_raw => $ct, num_comma => LJ::commafy( $ct ), - aopts => "href='$LJ::SITEROOT/allpics.bml?user=" . $u->user . "'", + aopts => "href='" . $u->allpics_base . "'", } ) unless $u->is_syndicated; diff -r af27432f0c0f -r 2a309f4e27e2 cgi-bin/LJ/Event/NewUserpic.pm --- a/cgi-bin/LJ/Event/NewUserpic.pm Sun Jul 19 07:34:30 2009 +0000 +++ b/cgi-bin/LJ/Event/NewUserpic.pm Sun Jul 19 07:54:57 2009 +0000 @@ -40,6 +40,7 @@ sub as_email_string { my $poster = $self->userpic->owner->user; my $userpic = $self->userpic->url; my $journal_url = $self->userpic->owner->journal_base; + my $icons_url = $self->userpic->owner->allpics_base; my $profile = $self->userpic->owner->profile_url; my $email = "Hi $username, @@ -50,7 +51,7 @@ You can: You can: - View all of $poster\'s userpics: - $LJ::SITEROOT/allpics.bml?user=$poster"; + $icons_url"; unless ( $u->watches( $self->userpic->owner ) ) { $email .= " @@ -77,6 +78,7 @@ sub as_email_html { my $postername = $self->userpic->owner->user; my $userpic = $self->userpic->imgtag; my $journal_url = $self->userpic->owner->journal_base; + my $icons_url = $self->userpic->owner->allpics_base; my $profile = $self->userpic->owner->profile_url; my $email = "Hi $username, @@ -85,7 +87,7 @@ sub as_email_html { <blockquote>$userpic</blockquote> You can:<ul>"; - $email .= "<li><a href=\"$LJ::SITEROOT/allpics.bml?user=$postername\">View all of $postername\'s userpics</a></li>"; + $email .= "<li><a href=\"$icons_url\">View all of $postername\'s userpics</a></li>"; $email .= "<li><a href=\"$LJ::SITEROOT/manage/circle/add.bml?user=$postername&action=subscribe\">Add $postername to your reading list</a></li>" unless $u->watches( $self->userpic->owner ); $email .= "<li><a href=\"$journal_url\">View their journal</a></li>"; diff -r af27432f0c0f -r 2a309f4e27e2 cgi-bin/LJ/S2.pm --- a/cgi-bin/LJ/S2.pm Sun Jul 19 07:34:30 2009 +0000 +++ b/cgi-bin/LJ/S2.pm Sun Jul 19 07:54:57 2009 +0000 @@ -2245,7 +2245,7 @@ sub UserLite 'username' => LJ::ehtml($u->display_name), 'name' => LJ::ehtml($u->{'name'}), 'journal_type' => $u->{'journaltype'}, - 'userpic_listing_url' => "$LJ::SITEROOT/allpics.bml?user=".$u->{'user'}, + 'userpic_listing_url' => $u->allpics_base, 'data_link' => { 'foaf' => Link("$LJ::SITEROOT/users/" . LJ::ehtml($u->{'user'}) . '/data/foaf', "FOAF", diff -r af27432f0c0f -r 2a309f4e27e2 cgi-bin/LJ/User.pm --- a/cgi-bin/LJ/User.pm Sun Jul 19 07:34:30 2009 +0000 +++ b/cgi-bin/LJ/User.pm Sun Jul 19 07:54:57 2009 +0000 @@ -5156,7 +5156,7 @@ sub activate_userpics { sub allpics_base { my $u = shift; - return "$LJ::SITEROOT/allpics.bml?user=" . $u->user; + return $u->journal_base . "/icons";; } @@ -7172,7 +7172,7 @@ sub user_search_display { $ret .= "<table style='height: 105px'><tr>"; $ret .= "<td style='width: 100px; text-align: center;'>"; - $ret .= "<a href='/allpics.bml?user=$u->{user}'>"; + $ret .= "<a href='" . $u->allpics_base . "'>"; if (my $picid = $get_picid->($u)) { $ret .= "<img src='$LJ::USERPIC_ROOT/$picid/$u->{userid}' alt='$u->{user} userpic' style='border: 1px solid #000;' />"; } else { diff -r af27432f0c0f -r 2a309f4e27e2 cgi-bin/ljfeed.pl --- a/cgi-bin/ljfeed.pl Sun Jul 19 07:34:30 2009 +0000 +++ b/cgi-bin/ljfeed.pl Sun Jul 19 07:54:57 2009 +0000 @@ -896,7 +896,7 @@ sub create_view_userpics { $feed->title( "$u->{user}'s userpics" ); $feed->author( $author ); - $feed->add_link( $make_link->( 'alternate', 'text/html', "$LJ::SITEROOT/allpics.bml?user=$u->{user}" ) ); + $feed->add_link( $make_link->( 'alternate', 'text/html', $u->allpics_base ) ); $feed->add_link( $make_link->( 'self', 'text/xml', $u->journal_base() . "/data/userpics" ) ); # now start building all the userpic data diff -r af27432f0c0f -r 2a309f4e27e2 cgi-bin/ljlib.pl --- a/cgi-bin/ljlib.pl Sun Jul 19 07:34:30 2009 +0000 +++ b/cgi-bin/ljlib.pl Sun Jul 19 07:54:57 2009 +0000 @@ -186,6 +186,9 @@ LJ::MemCache::init(); # within journal styles. "des" => "Update Journal", }, + "icons" => { + "des" => "Icons", + } ); ## we want to set this right away, so when we get a HUP signal later diff -r af27432f0c0f -r 2a309f4e27e2 cgi-bin/talklib.pl --- a/cgi-bin/talklib.pl Sun Jul 19 07:34:30 2009 +0000 +++ b/cgi-bin/talklib.pl Sun Jul 19 07:54:57 2009 +0000 @@ -1680,7 +1680,7 @@ sub talkform { if ($res{'pickw_count'}) { $ret .= BML::ml('.label.picturetouse2', { - 'aopts'=>"href='$LJ::SITEROOT/allpics.bml?user=$remote->{'user'}'"}) . " "; + 'aopts'=>"href='" . $remote->allpics_base. "'"}) . " "; my @pics; for (my $i=1; $i<=$res{'pickw_count'}; $i++) { push @pics, $res{"pickw_$i"}; diff -r af27432f0c0f -r 2a309f4e27e2 cgi-bin/weblib.pl --- a/cgi-bin/weblib.pl Sun Jul 19 07:34:30 2009 +0000 +++ b/cgi-bin/weblib.pl Sun Jul 19 07:54:57 2009 +0000 @@ -716,7 +716,7 @@ sub create_qr_div { if ($res{'pickw_count'}) { $qrhtml .= BML::ml('/talkpost.bml.label.picturetouse2', { - 'aopts'=>"href='$LJ::SITEROOT/allpics.bml?user=$remote->{'user'}'"}); + 'aopts'=>"href='" . $remote->allpics_base . "'"}); my @pics; for (my $i=1; $i<=$res{'pickw_count'}; $i++) { push @pics, $res{"pickw_$i"}; diff -r af27432f0c0f -r 2a309f4e27e2 htdocs/allpics.bml --- a/htdocs/allpics.bml Sun Jul 19 07:34:30 2009 +0000 +++ b/htdocs/allpics.bml Sun Jul 19 07:54:57 2009 +0000 @@ -6,10 +6,20 @@ use strict; use vars qw(%GET $title $body $head); + BML::set_language_scope( '/allpics.bml' ); + $title = "$ML{'.title'}"; $body = ""; $head = ""; - + + my $r = BML::get_request(); + + # if new-style URLs, get the GET{user} arg from the request notes, + # which was set by LiveJournal.pm + unless ( $GET{user} ) { + $GET{user} = $r->notes->{_journal}; + } + my $user = LJ::canonical_username($GET{'user'}); my $remote = LJ::get_remote(); my $u = ! $user || $remote && $remote->{'user'} eq $user ? $remote : LJ::load_user($user); @@ -17,6 +27,19 @@ unless ($u) { $body = "<?h1 $ML{'Error'} h1?><?p $ML{'.error.noparam'} p?>"; return; + } + + # redirect /icons to their subdomain urls + my $domain = BML::get_client_header( "Host" ); + if ( $LJ::ONLY_USER_VHOSTS ) { + my $url = $u->journal_base . "/icons"; + + my $good_domain = $url; + $good_domain =~ s!^http://!!; + $good_domain =~ s!/.*!!; + if ( $domain ne $good_domain ) { + return BML::redirect( $url ); + } } $u->preload_props("opt_blockrobots", "adult_content") if $u->is_visible; diff -r af27432f0c0f -r 2a309f4e27e2 htdocs/support/see_request.bml --- a/htdocs/support/see_request.bml Sun Jul 19 07:34:30 2009 +0000 +++ b/htdocs/support/see_request.bml Sun Jul 19 07:54:57 2009 +0000 @@ -305,7 +305,7 @@ body<= # db twice. LJ::load_userpics(\%pic, [ $u, $picid ]); my $userpic_obj = LJ::Userpic->new( $u, $picid ); - $ret .= "<a href='$LJ::SITEROOT/allpics.bml?user=$u->{'user'}'>"; + $ret .= "<a href='" . $u->allpics_base . "'>"; $ret .= $userpic_obj->imgtag; $ret .= "</a>"; } diff -r af27432f0c0f -r 2a309f4e27e2 htdocs/tools/endpoints/multisearch.bml --- a/htdocs/tools/endpoints/multisearch.bml Sun Jul 19 07:34:30 2009 +0000 +++ b/htdocs/tools/endpoints/multisearch.bml Sun Jul 19 07:54:57 2009 +0000 @@ -32,7 +32,7 @@ if ($user) { if (my $u = LJ::load_user($user)) { if ($what eq "pics") { - $url = "$LJ::SITEROOT/allpics.bml?user=$user"; + $url = $u->allpics_base; } elsif ($output eq "foaf") { $url = LJ::journal_base($user) . '/data/foaf'; } else { --------------------------------------------------------------------------------
no subject