version 1.18, 2006/05/10 15:52:11
|
version 1.20, 2006/05/11 15:27:49
|
Line 54 sub displayfeedname {
|
Line 54 sub displayfeedname {
|
my ($rawname,$uname,$udom)=@_; |
my ($rawname,$uname,$udom)=@_; |
my $filterfilename=&filterfeedname($rawname); |
my $filterfilename=&filterfeedname($rawname); |
# do we have a stored name? |
# do we have a stored name? |
my %stored=&Apache::lonnet::get('nohist_all_rss_feeds',[$filterfilename],$udom,$uname); |
my %stored=&Apache::lonnet::get('nohist_all_rss_feeds',[$filterfilename,'feed_display_option_'.$filterfilename],$udom,$uname); |
if ($stored{$filterfilename}) { return $stored{$filterfilename}; } |
if ($stored{$filterfilename}) { return ($stored{$filterfilename},$stored{'feed_display_option_'.$filterfilename}); } |
# no, construct a name |
# no, construct a name |
my $name=$filterfilename; |
my $name=$filterfilename; |
if ($name=~/^CourseBlog/) { |
if ($name=~/^CourseBlog/) { |
Line 66 sub displayfeedname {
|
Line 66 sub displayfeedname {
|
} else { |
} else { |
$name=~s/\_/ /g; |
$name=~s/\_/ /g; |
} |
} |
return $name; |
return ($name,$stored{'feed_display_option_'.$filterfilename}); |
} |
} |
|
|
sub renamefeed { |
sub namefeed { |
my ($rawname,$uname,$udom,$newname)=@_; |
my ($rawname,$uname,$udom,$newname)=@_; |
return &Apache::lonnet::put('nohist_all_rss_feeds', |
return &Apache::lonnet::put('nohist_all_rss_feeds', |
{ &filterfeedname($rawname) => $newname }, |
{ &filterfeedname($rawname) => $newname }, |
$udom,$uname); |
$udom,$uname); |
} |
} |
|
|
|
sub changefeeddisplay { |
|
my ($rawname,$uname,$udom,$newstatus)=@_; |
|
return &Apache::lonnet::put('nohist_all_rss_feeds', |
|
{ 'feed_display_option_'.&filterfeedname($rawname) => $newstatus }, |
|
$udom,$uname); |
|
} |
|
|
sub advertisefeeds { |
sub advertisefeeds { |
my ($uname,$udom,$edit)=@_; |
my ($uname,$udom,$edit)=@_; |
my $feeds=''; |
my $feeds=''; |
Line 85 sub advertisefeeds {
|
Line 92 sub advertisefeeds {
|
$mode='adm'; |
$mode='adm'; |
} |
} |
foreach my $feed (sort(keys(%feednames))) { |
foreach my $feed (sort(keys(%feednames))) { |
if ($feed!~/^error\:/) { |
if (($feed!~/^error\:/) && ($feed!~/^feed\_display\_option\_/)) { |
my $feedurl='http://'.$ENV{'HTTP_HOST'}.'/public/'.$udom.'/'.$uname.'/'.$feed.'.rss'; |
my $feedurl='http://'.$ENV{'HTTP_HOST'}.'/public/'.$udom.'/'.$uname.'/'.$feed.'.rss'; |
my $htmlurl='http://'.$ENV{'HTTP_HOST'}.'/'.$mode.'/'.$udom.'/'.$uname.'/'.$feed.'_rss.html'; |
my $htmlurl='http://'.$ENV{'HTTP_HOST'}.'/'.$mode.'/'.$udom.'/'.$uname.'/'.$feed.'_rss.html'; |
$feeds.='<li>'.$feednames{$feed}. |
if ($feednames{'feed_display_option_'.$feed} eq 'hidden') { |
'<br />'.($edit?&mt('Edit'):'HTML').': <a href="'.$htmlurl.'"><tt>'.$htmlurl.'</tt></a>'. |
if ($edit) { |
'<br />RSS: <a href="'.$feedurl.'"><tt>'.$feedurl.'</tt></a></li>'; |
$feeds.='<li><i>'.$feednames{$feed}.'</i><br />'.&mt('Hidden').': <a href="'.$htmlurl.'"><tt>'.$htmlurl.'</tt></a></li>'; |
|
} |
|
} else { |
|
$feeds.='<li><b>'.$feednames{$feed}. |
|
'</b><br />'.($edit?&mt('Edit'):'HTML').': <a href="'.$htmlurl.'"><tt>'.$htmlurl.'</tt></a>'. |
|
'<br />RSS: <a href="'.$feedurl.'"><tt>'.$feedurl.'</tt></a></li>'; |
|
} |
} |
} |
} |
} |
if ($feeds) { |
if ($feeds) { |
Line 192 sub handler {
|
Line 205 sub handler {
|
|
|
my $filterfeedname=&filterfeedname($filename); |
my $filterfeedname=&filterfeedname($filename); |
my $feedname=&feedname($filename); |
my $feedname=&feedname($filename); |
my $displayfeedname=&displayfeedname($filename,$uname,$udom); |
my ($displayfeedname,$displayoption)=&displayfeedname($filename,$uname,$udom); |
if ($html) { |
if ($html) { |
$r->print(&Apache::loncommon::start_page($displayfeedname,undef, |
$r->print(&Apache::loncommon::start_page(($displayfeedname?$displayfeedname:&mt("Available RSS Feeds and Blogs")),undef, |
{'domain' => $udom, |
{'domain' => $udom, |
'force_register' => |
'force_register' => |
$env{'form.register'}}). |
$env{'form.register'}}). |
Line 212 sub handler {
|
Line 225 sub handler {
|
# 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) { |
if ($html) { |
|
# Any new feeds or renaming of feeds? |
|
if ($edit) { |
|
# Hide a feed? |
|
if ($env{'form.hidethisblog'}) { |
|
&changefeeddisplay($feedname,$uname,$udom,'hidden'); |
|
($displayfeedname,$displayoption)=&displayfeedname($filename,$uname,$udom); |
|
} |
|
# Advertise a feed? |
|
if ($env{'form.advertisethisblog'}) { |
|
&changefeeddisplay($feedname,$uname,$udom,'public'); |
|
($displayfeedname,$displayoption)=&displayfeedname($filename,$uname,$udom); |
|
} |
|
# New feed? |
|
if ($env{'form.namenewblog'}=~/\w/) { |
|
&namefeed($env{'form.namenewblog'},$uname,$udom,$env{'form.namenewblog'}); |
|
} |
|
# Old feed that is being renamed? |
|
if (($displayfeedname) && ($env{'form.newblogname'}=~/\w/)) { |
|
if ($env{'form.newblogname'} ne $displayfeedname) { |
|
&namefeed($feedname,$uname,$udom,$env{'form.newblogname'}); |
|
($displayfeedname,$displayoption)=&displayfeedname($filename,$uname,$udom); |
|
} |
|
} |
|
} |
$r->print(&advertisefeeds($uname,$udom,$edit)); |
$r->print(&advertisefeeds($uname,$udom,$edit)); |
} |
} |
if ($homeserver eq 'no_host') { |
if ($homeserver eq 'no_host') { |
Line 225 sub handler {
|
Line 262 sub handler {
|
} else { |
} else { |
$name=&Apache::loncommon::nickname($uname,$udom); |
$name=&Apache::loncommon::nickname($uname,$udom); |
} |
} |
|
# Add a new feed |
|
if (($html) && ($edit)) { |
|
$r->print('<form method="post">'); |
|
$r->print(&mt('Name for New Blog').": <input type='text' size='40' name='namenewblog' />"); |
|
$r->print('<input type="submit" value="'.&mt('Start a New Blog').'" />'); |
|
$r->print('</form>'); |
|
} |
if ($displayfeedname) { # this is an existing feed |
if ($displayfeedname) { # this is an existing feed |
# Anything to store? |
# Anything to store? |
if ($edit) { |
if ($edit) { |
Line 241 sub handler {
|
Line 285 sub handler {
|
} |
} |
} |
} |
} |
} |
if ($env{'form.newblogname'} ne $displayfeedname) { |
|
&Apache::lonnet::put('nohist_all_rss_feeds',{ $filterfeedname => $env{'form.newblogname'} },$udom,$uname); |
|
$displayfeedname=&displayfeedname($filename,$uname,$udom); |
|
} |
|
} #done storing |
} #done storing |
|
|
$r->print("\n". |
$r->print("\n". |
($html?'<h3>':'<title>'). |
($html?'<hr /><h3>':'<title>'). |
&mt('LON-CAPA Feed "[_1]" for [_2]',$displayfeedname,$name). |
&mt('LON-CAPA Feed "[_1]" for [_2]',$displayfeedname,$name). |
|
($displayoption eq 'hidden'?' ('.&mt('Hidden').')':''). |
($html?'</h3>'.($edit?'<form method="post"><br />'. |
($html?'</h3>'.($edit?'<form method="post"><br />'. |
&mt('Name of blog/journal'). |
&mt('Name of blog/journal'). |
': <input type="text" size="50" name="newblogname" value="'. |
': <input type="text" size="50" name="newblogname" value="'. |
Line 328 ENDEDIT
|
Line 369 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('Store Marked Changes').'" />'. |
|
($displayoption eq 'hidden'?'<input type="submit" name="advertisethisblog" value="'.&mt('Advertise this Feed').'" />': |
|
'<input type="submit" name="hidethisblog" value="'.&mt('Hide this Feed').'" />')); |
} |
} |
} |
} |
} # was a real display feedname |
} # was a real display feedname |