--- loncom/interface/lonrss.pm 2007/05/21 23:15:11 1.36 +++ loncom/interface/lonrss.pm 2007/07/27 00:17:17 1.37 @@ -1,7 +1,7 @@ # The LearningOnline Network # RSS Feeder # -# $Id: lonrss.pm,v 1.36 2007/05/21 23:15:11 albertel Exp $ +# $Id: lonrss.pm,v 1.37 2007/07/27 00:17:17 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -94,18 +94,20 @@ sub advertisefeeds { } my $server = &Apache::lonnet::absolute_url(); foreach my $feed (sort(keys(%feednames))) { - if (($feed!~/^error\:/) && ($feed!~/^feed\_display\_option\_/)) { - my $feedurl= $server.'/public/'.$udom.'/'.$uname.'/'.$feed.'.rss'; - my $htmlurl= $server.'/'.$mode.'/'.$udom.'/'.$uname.'/'.$feed.'_rss.html'; - if ($feednames{'feed_display_option_'.$feed} eq 'hidden') { - if ($edit) { - $feeds.='
  • '.$feednames{$feed}.'
    '.&mt('Hidden').': '.$htmlurl.'
  • '; - } - } else { - $feeds.='
  • '.$feednames{$feed}. - '
    '.($edit?&mt('Edit'):'HTML').': '.$htmlurl.''. - '
    '.&mt('Public RSS/podcast (subscribe to)').': '.$feedurl.'
  • '; + next if ($feed =~/^\s*$/ || + $feed =~ /^error:/ || + $feed =~ /^feed_display_option_/); + + my $feedurl= $server.'/public/'.$udom.'/'.$uname.'/'.$feed.'.rss'; + my $htmlurl= $server.'/'.$mode.'/'.$udom.'/'.$uname.'/'.$feed.'_rss.html'; + if ($feednames{'feed_display_option_'.$feed} eq 'hidden') { + if ($edit) { + $feeds.='
  • '.$feednames{$feed}.'
    '.&mt('Hidden').': '.$htmlurl.'
  • '; } + } else { + $feeds.='
  • '.$feednames{$feed}. + '
    '.($edit?&mt('Edit'):'HTML').': '.$htmlurl.''. + '
    '.&mt('Public RSS/podcast (subscribe to)').': '.$feedurl.'
  • '; } } if ($feeds) { @@ -116,8 +118,22 @@ sub advertisefeeds { } sub rss_link { - my ($url) = @_; - return qq||; + my ($uname,$udom)=@_; + my $result; + my $server = &Apache::lonnet::absolute_url(); + my %feednames=&Apache::lonnet::dump('nohist_all_rss_feeds',$udom,$uname); + foreach my $feed (sort(keys(%feednames))) { + next if ($feed =~/^\s*$/ || + $feed =~ /^error:/ || + $feed =~/^feed_display_option_/ ); + my $url= $server.'/public/'.$udom.'/'.$uname.'/'.$feed.'.rss'; + my $title = $feed; + $title =~ s/_/ /g; + $result.=qq| + +|; + } + return $result; } { @@ -294,7 +310,8 @@ sub handler { if ($html) { my $title = $displayfeedname?$displayfeedname :"Available RSS Feeds and Blogs"; - $r->print(&Apache::loncommon::start_page($title,undef, + my $rss_link = &Apache::lonrss::rss_link($uname,$udom); + $r->print(&Apache::loncommon::start_page($title,$rss_link, {'domain' => $udom, 'force_register' => $env{'form.register'}}).