LJSUP-17669: Login.bml form refactoring
[livejournal.git] / htdocs / birthdays.bml
blob587c237346b03ae29f481b4f75eb115bad25fc94
1 <?page
2 title=><?_ml .title _ml?>
3 body<=
4 <?_code
6     use strict;
7     use vars qw(%GET);
9     LJ::set_active_crumb('birthdays');
11     my $remote = LJ::get_remote();
12     return "<?needlogin?>" unless $remote;
14     my $u;
15     if ($GET{user}) {
16         $u = LJ::load_user($GET{user});
17         return BML::ml('.error.invaliduser', { user => LJ::ehtml($GET{user}) })
18             unless $u;
19         return BML::ml('.error.badstatus', { user => LJ::ljuser($u->{user}) })
20             if $u->{statusvis} ne 'V';
21     }
23     my $body;
24     my $lastmon = 0;
26     $body .= '<?p ';
27     if ($u) {
28         $body .= BML::ml('.description.others', { user => LJ::ljuser($u) });
29     } else {
30         $body .= $ML{'.description'};
31     }
32     $body .= ' p?>';
34     $body .= "<?p $ML{'.findothers'} p?>";
35     $body .= "<form method='get' action='$LJ::SITEROOT/birthdays.bml'>";
36     $body .= LJ::html_text({ name => 'user', maxlength => 15, size => 15 });
37     $body .= LJ::html_submit(undef, $ML{'.view'});
38     $body .= "</form>";
40     my @bdays;
42     if (defined $u) {
43         @bdays = $u->get_friends_birthdays(full => 1);
44     } else {
45         @bdays = $remote->get_friends_birthdays(full => 1);
46     }
48     foreach my $bday (@bdays) {
49         LJ::text_out(\$bday->[2]);
51           if ($bday->[0] != $lastmon) {
52               if ($lastmon) { $body .= "</ul>\n"; }
53               $lastmon = $bday->[0];
54               $body .= "<?h1 " . LJ::Lang::month_long($lastmon) . " h1?><ul>\n";
55           }
57           my $day = sprintf("%2s", $bday->[1]);
58           $day =~ s/ /&nbsp;/;
60           my $friendu = LJ::load_user($bday->[2]);
61           my $name = LJ::ehtml($friendu->{'name'});
62           $body .= "<b><tt>$day</tt></b>: " . LJ::ljuser($friendu) . " - $name<br />\n";
63       }
65     if (@bdays) {
66         $body .= "</ul>\n";
67     } else {
68         $body .= "<?p $ML{'.nobirthdays'} p?>";
69     }
71     return $body;
73 _code?>
74 <=body
75 page?><?_c <LJDEP>
76 link: htdocs/login.bml
77 </LJDEP> _c?>