Changeset 10177

Show
Ignore:
Timestamp:
2008-07-27 15:52:12 (4 months ago)
Author:
acid2
Message:

Caching the RSS feed (hacking it's use in the templates too... saddly)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Root.pm

    r10175 r10177  
    4646    # Load the blog for the sidebar 
    4747    # 
    48     $c->model('Feeds')->register('musicbrainz', 'http://blog.musicbrainz.org/?feed=rss2'); 
    49     $c->stash->{blog} = $c->model('Feeds')->get('musicbrainz'); 
     48    $c->stash->{blog} = $c->model('Feeds')->get_cached('musicbrainz', 'http://blog.musicbrainz.org/?feed=rss2'); 
    5049 
    5150    $c->stash->{template} = 'main/index.tt'; 
  • mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/User.pm

    r10175 r10177  
    3434    my ($self, $c) = @_; 
    3535 
    36     if($c->user_exists) 
    37     { 
    38         # If we are logged in, redirect to profile page 
    39         $c->response->redirect($c->uri_for('/user/profile')); 
    40         $c->detach(); 
    41     } 
    42     else 
    43     { 
    44         # Not logged in, redirect to the login page 
    45         $c->response->redirect($c->uri_for('/user/login')); 
    46         $c->detach(); 
    47     } 
     36    $c->forward('login'); 
     37    $c->detach('profile'); 
    4838} 
    4939 
     
    10090sub register : Local 
    10191{ 
     92    my ($self, $c) = @_; 
     93 
    10294    use MusicBrainz::Server::Form::User::Register; 
    10395 
    104     my ($self, $c) = @_; 
    105  
    10696    my $form = MusicBrainz::Server::Form::User::Register->new; 
    10797    $c->stash->{form} = $form; 
     
    10999    if($c->form_posted && $form->validate($c->request->parameters)) 
    110100    { 
    111         my $mb = $c->mb; 
    112      
    113         my $ui = UserStuff->new($mb->{DBH}); 
     101        my $ui = UserStuff->new($c->mb->{DBH}); 
    114102        my ($userobj, $createlogin) = $ui->CreateLogin($form->value('username'), 
    115103                                                       $form->value('password'), 
     
    149137 
    150138    $c->stash->{emailed} = $couldSend; 
    151     $c->stash->{email} = $email; 
     139    $c->stash->{email}   = $email; 
    152140 
    153141    $c->stash->{template} = 'user/registered.tt'; 
     
    167155{ 
    168156    my ($self, $c) = @_; 
    169  
    170     $c->forward('login'); 
    171157 
    172158    use MusicBrainz::Server::Form::User::ForgotPassword; 
     
    227213=cut 
    228214 
    229 sub editProfile : Local 
    230 
    231     my ($self, $c) = @_; 
     215sub edit_profile : Local 
     216
     217    my ($self, $c) = @_; 
     218 
     219    $c->forward('login'); 
    232220 
    233221    use MusicBrainz::Server::Form::User::EditProfile; 
     
    253241=cut 
    254242 
    255 sub changePassword : Local 
    256 
    257     my ($self, $c) = @_; 
     243sub change_password : Local 
     244
     245    my ($self, $c) = @_; 
     246 
     247    $c->forward('login'); 
    258248 
    259249    use MusicBrainz::Server::Form::User::ChangePassword; 
     250 
    260251    my $form = new MusicBrainz::Server::Form::User::ChangePassword; 
    261252    $c->stash->{form} = $form; 
     
    345336{ 
    346337    my ($self, $c) = @_; 
     338 
     339    $c->forward('login'); 
    347340 
    348341    my $user  = $c->user; 
  • mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Model/Feeds.pm

    r10175 r10177  
    66use base 'Catalyst::Model::XML::Feed'; 
    77 
     8sub get_cached 
     9{ 
     10    my ($self, $feed_id, $uri) = @_; 
     11 
     12    # Check cache first 
     13    my $feed = MusicBrainz::Server::Cache->get("feed-id-${feed_id}"); 
     14    if ($feed) 
     15    { 
     16        return $feed; 
     17    } 
     18    else 
     19    { 
     20        $self->Catalyst::Model::XML::Feed::register($feed_id, $uri); 
     21        $feed = $self->Catalyst::Model::XML::Feed::get($feed_id); 
     22 
     23        MusicBrainz::Server::Cache->set("feed-id-${feed_id}", $feed); 
     24 
     25        return $feed; 
     26    } 
     27} 
     28 
    8291; 
  • mb_server/branches/TemplateToolkit/root/main/index.tt

    r10175 r10177  
    1717  [% WRAPPER "components/box.tt" color="purple" header="MusicBrainz Blog" %] 
    1818    <ul id="blog"> 
    19     [% FOREACH post IN blog.entries %] 
     19    [% FOREACH post IN blog.rss.items %] 
    2020      [% LAST IF loop.count > 5 %] 
    2121      <li> 
    2222        <h3>[% post.title %]</h3> 
    23         <p>[% post.summary.body %]</p> 
    24         <p>Posted: [% post.issued %]</p> 
     23        <p>[% post.content.encoded %]</p> 
     24        <p>Posted: [% post.pubDate %]</p> 
    2525      </li> 
    2626    [% END %]