LJSUP-17669: Login.bml form refactoring
[livejournal.git] / htdocs / betafeatures.bml
blob50e9e478fe8f920f829431b26747398870581545
1 <?page
2 body<=
3 <?_code
5     use strict;
6     use vars qw(%GET %POST $title $headextra @errors @warnings);
8     $title = BML::ml('.title', {'sitename' => $LJ::SITENAMESHORT});
9     my $remote = LJ::get_remote();
10     return "<?needlogin?>" unless $remote;
12     my $ret;
14     if (LJ::did_post()) {
15         my @errors = LJ::Widget->handle_post(\%POST, qw(BetaFeature));
16         if (@errors) {
17             $ret .= LJ::bad_input(@errors);
18         } else {
19             # refresh the page after saving so that the user will see activated features immediately
20             return BML::redirect("$LJ::SITEROOT/betafeatures.bml");
21         }
22     }
24     my $body_ret;
25     my $now = time();
26     if (keys %LJ::BETA_FEATURES) {
27         my @beta_features = sort { $LJ::BETA_FEATURES{$b}->{start_time} <=> $LJ::BETA_FEATURES{$a}->{start_time} } keys %LJ::BETA_FEATURES;
28         foreach my $feature (@beta_features) {
29             if ($LJ::BETA_FEATURES{$feature}->{start_time} <= $now && $LJ::BETA_FEATURES{$feature}->{end_time} > $now) {
30                 $body_ret .= LJ::Widget::BetaFeature->render( feature => $feature, u => $remote );
31             }
32         }
33     }
35     $ret .= $body_ret ? $body_ret : "<?p $ML{'.nofeatures'} p?>";
37     my $news = LJ::load_user('news');
38     $ret .= "<?p " . BML::ml('.staytuned', {'news' => $news->ljuser_display}) . " p?>" if $news;
40     return $ret;
42 _code?>
43 <=body
44 title=><?_code return $title; _code?>
45 head<=
46 <?_code return $headextra; _code?>
47 <=head
48 page?>