Diff for /loncom/interface/lonrss.pm between versions 1.33 and 1.39.2.2

version 1.33, 2007/01/18 19:02:00 version 1.39.2.2, 2008/12/22 14:41:05
Line 94  sub advertisefeeds { Line 94  sub advertisefeeds {
     }      }
     my $server = &Apache::lonnet::absolute_url();      my $server = &Apache::lonnet::absolute_url();
     foreach my $feed (sort(keys(%feednames))) {      foreach my $feed (sort(keys(%feednames))) {
  if (($feed!~/^error\:/) && ($feed!~/^feed\_display\_option\_/)) {   next if ($feed =~/^\s*$/    ||
     my $feedurl= $server.'/public/'.$udom.'/'.$uname.'/'.$feed.'.rss';   $feed =~ /^error:/ ||
     my $htmlurl= $server.'/'.$mode.'/'.$udom.'/'.$uname.'/'.$feed.'_rss.html';   $feed =~ /^feed_display_option_/);
     if ($feednames{'feed_display_option_'.$feed} eq 'hidden') {  
  if ($edit) {   my $feedurl= $server.'/public/'.$udom.'/'.$uname.'/'.$feed.'.rss';
     $feeds.='<li><i>'.$feednames{$feed}.'</i><br />'.&mt('Hidden').': <a href="'.$htmlurl.'"><tt>'.$htmlurl.'</tt></a></li>';   my $htmlurl= $server.'/'.$mode.'/'.$udom.'/'.$uname.'/'.$feed.'_rss.html';
  }   if ($feednames{'feed_display_option_'.$feed} eq 'hidden') {
     } else {      if ($edit) {
  $feeds.='<li><b>'.$feednames{$feed}.   $feeds.='<li><i>'.$feednames{$feed}.'</i><br />'.&mt('Hidden').': <a href="'.$htmlurl.'"><tt>'.$htmlurl.'</tt></a></li>';
     '</b><br />'.($edit?&mt('Edit'):'HTML').': <a href="'.$htmlurl.'"><tt>'.$htmlurl.'</tt></a>'.  
     '<br />RSS: <a href="'.$feedurl.'"><tt>'.$feedurl.'</tt></a></li>';  
     }      }
    } else {
       $feeds.='<li><b>'.$feednames{$feed}.
    '</b><br />'.($edit?&mt('Edit'):'HTML').': <a href="'.$htmlurl.'"><tt>'.$feednames{$feed}.' HTML</tt></a>'.
    '<br />'.&mt('Public RSS/podcast (subscribe to)').': <a href="'.$feedurl.'"><tt>'.$feednames{$feed}.' RSS/Podcast</tt></a></li>';
  }   }
     }      }
     if ($feeds) {      if ($feeds) {
Line 116  sub advertisefeeds { Line 118  sub advertisefeeds {
 }  }
   
 sub rss_link {  sub rss_link {
     my ($url) = @_;      my ($uname,$udom)=@_;
     return qq|<link rel="alternate" type="application/rss+xml" title="Course Announcements" href="$url" />|;      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|
   <link rel="alternate" type="application/rss+xml" title="$title" href="$url" />
   |;
       }
       return $result;
 }  }
   
 {  {
Line 287  sub handler { Line 303  sub handler {
     my $filterfeedname=&filterfeedname($filename);      my $filterfeedname=&filterfeedname($filename);
     my $feedname=&feedname($filename);      my $feedname=&feedname($filename);
     my ($displayfeedname,$displayoption)=&displayfeedname($filename,$uname,$udom);      my ($displayfeedname,$displayoption)=&displayfeedname($filename,$uname,$udom);
     my ($blocked,$blocktext);      my ($blocked,$blocktext,$disabled,$disabletext);
     if (!&Apache::lonnet::is_course($udom,$uname)) {      if (!&Apache::lonnet::is_course($udom,$uname)) {
         ($blocked,$blocktext) = &blocking_blogdisplay($uname,$udom,$html,$filterfeedname);          ($blocked,$blocktext) = &blocking_blogdisplay($uname,$udom,$html,$filterfeedname);
           if (&Apache::lonnet::usertools_access($uname,$udom,'blog')) {
               $disabled = 0;
           } else {
               $disabled = 1;
               if ($html) {
                   $disabletext = '<h2>'.&mt('No user blog available') .'</h2>'.
                                  &mt('This is a result of one of the following:').'<ul>'.
                                  '<li>'.&mt('The administrator of this domain has disabled blog functionality for this specific user.').'</li>'.
                                  '<li>'.&mt('The domain has been configured to disable, by default, blog functionality for all users in the domain.').'</li>'.
                                  '</ul>';
               } else {
                   $disabletext = &mt('No user blog available');
               }
           }
     }      }
     if ($html) {      if ($html) {
  my $title = $displayfeedname?$displayfeedname   my $title = $displayfeedname?$displayfeedname
                                     :"Available RSS Feeds and Blogs";                                      :"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,   {'domain'         => $udom,
   'force_register' =>    'force_register' =>
       $env{'form.register'}}).        $env{'form.register'}}).
Line 312  sub handler { Line 343  sub handler {
     my $newid = &get_new_feed_id();      my $newid = &get_new_feed_id();
 # Is this user for real?  # Is this user for real?
     my $homeserver=&Apache::lonnet::homeserver($uname,$udom);      my $homeserver=&Apache::lonnet::homeserver($uname,$udom);
     if ($html && !$blocked) {      if ($html && !$blocked && !$disabled) {
 # Any new feeds or renaming of feeds?  # Any new feeds or renaming of feeds?
  if ($edit) {   if ($edit) {
 # Hide a feed?  # Hide a feed?
Line 344  sub handler { Line 375  sub handler {
     } elsif ($blocked) {      } elsif ($blocked) {
         $r->print($blocktext);          $r->print($blocktext);
         $r->print(($html?&Apache::loncommon::end_page():'</channel></rss>'."\n"));          $r->print(($html?&Apache::loncommon::end_page():'</channel></rss>'."\n"));
       } elsif ($disabled) {
           $r->print($disabletext);
           $r->print(($html?&Apache::loncommon::end_page():'</channel></rss>'."\n"));
     } else { # is indeed a user      } else { # is indeed a user
 # Course or user?  # Course or user?
  my $name='';   my $name='';
Line 466  sub handler { Line 500  sub handler {
             }              }
 # Get feed items  # Get feed items
     my %newsfeed=&Apache::lonnet::dump($feedname,$udom,$uname);      my %newsfeed=&Apache::lonnet::dump($feedname,$udom,$uname);
     foreach my $entry (sort(keys(%newsfeed)),$newid.'_status') {      foreach my $entry (sort {$b cmp $a} (keys(%newsfeed)),$newid.'_status') {
  if ($entry=~/^(\d+)\_status$/) { # is an entry   if ($entry=~/^(\d+)\_status$/) { # is an entry
     my $id=$1;      my $id=$1;
     if ($edit) {      if ($edit) {
Line 474  sub handler { Line 508  sub handler {
    'private' => 'private',     'private' => 'private',
    'hidden' => 'hidden',     'hidden' => 'hidden',
    'delete' => 'delete',     'delete' => 'delete',
    'store' => 'Store changes',     'store' => 'Save changes',
    'title' => 'Title',     'title' => 'Title',
    'link' => 'Link',     'link' => 'Link',
    'description' => 'Description',     'description' => 'Description',
Line 554  ENDEDIT Line 588  ENDEDIT
     if ($html) {      if ($html) {
  $r->print('</ul>');   $r->print('</ul>');
  if ($edit) {   if ($edit) {
     $r->print('<input type="hidden" name="newid" value="'.$newid.'"/><input type="submit" value="'.&mt('Store Marked Changes').'" />'.      $r->print('<input type="hidden" name="newid" value="'.$newid.'"/><input type="submit" value="'.&mt('Save Marked Changes').'" />'.
       ($displayoption eq 'hidden'?'<input type="submit" name="advertisethisblog" value="'.&mt('Advertise this Feed').'" />':        ($displayoption eq 'hidden'?'<input type="submit" name="advertisethisblog" value="'.&mt('Advertise this Feed').'" />':
        '<input type="submit" name="hidethisblog" value="'.&mt('Hide this Feed').'" />'));         '<input type="submit" name="hidethisblog" value="'.&mt('Hide this Feed').'" />'));
  }   }

Removed from v.1.33  
changed lines
  Added in v.1.39.2.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>