version 1.36, 2007/05/21 23:15:11
|
version 1.53, 2013/07/15 14:32:44
|
Line 61 sub displayfeedname {
|
Line 61 sub displayfeedname {
|
my $name=$filterfilename; |
my $name=$filterfilename; |
if ($name=~/^CourseBlog/) { |
if ($name=~/^CourseBlog/) { |
$name=&mt('Course Blog'); |
$name=&mt('Course Blog'); |
|
if ($env{'course.'.$env{'request.course.id'}.'.type'} eq 'Community') { |
|
$name = &mt('Community Blog'); |
|
} |
if ($env{'course.'.$env{'request.course.id'}.'.description'}) { |
if ($env{'course.'.$env{'request.course.id'}.'.description'}) { |
$name.=' '.$env{'course.'.$env{'request.course.id'}.'.description'}; |
$name.=' '.$env{'course.'.$env{'request.course.id'}.'.description'}; |
} |
} |
Line 85 sub changefeeddisplay {
|
Line 88 sub changefeeddisplay {
|
} |
} |
|
|
sub advertisefeeds { |
sub advertisefeeds { |
my ($uname,$udom,$edit)=@_; |
my ($uname,$udom,$edit,$count,$hidden)=@_; |
my $feeds=''; |
my $feeds=''; |
my %feednames=&Apache::lonnet::dump('nohist_all_rss_feeds',$udom,$uname); |
my %feednames=&Apache::lonnet::dump('nohist_all_rss_feeds',$udom,$uname); |
my $mode='public'; |
my $mode='public'; |
Line 94 sub advertisefeeds {
|
Line 97 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 ($feednames{'feed_display_option_'.$feed} eq 'hidden') { |
if ($edit) { |
if (ref($hidden)) { |
$feeds.='<li><i>'.$feednames{$feed}.'</i><br />'.&mt('Hidden').': <a href="'.$htmlurl.'"><tt>'.$htmlurl.'</tt></a></li>'; |
$$hidden ++; |
} |
} |
} else { |
if (ref($count)) { |
$feeds.='<li><b>'.$feednames{$feed}. |
unless ($edit) { |
'</b><br />'.($edit?&mt('Edit'):'HTML').': <a href="'.$htmlurl.'"><tt>'.$htmlurl.'</tt></a>'. |
next; |
'<br />'.&mt('Public RSS/podcast (subscribe to)').': <a href="'.$feedurl.'"><tt>'.$feedurl.'</tt></a></li>'; |
} |
|
} |
|
} else { |
|
if (ref($count)) { |
|
$$count ++; |
|
} |
|
} |
|
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.='<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>'.$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 134 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 242 sub blocking_blogdisplay {
|
Line 274 sub blocking_blogdisplay {
|
if ($blockcause eq 'user') { |
if ($blockcause eq 'user') { |
$output .= &mt('This is because you are a student in one or more courses in which communication is being blocked.'); |
$output .= &mt('This is because you are a student in one or more courses in which communication is being blocked.'); |
if ($html) { |
if ($html) { |
$output .= '<br />'. |
#$output .= '<br />'. |
&Apache::loncommon::build_block_table($startblock, |
#&Apache::loncommon::build_block_table($startblock, |
$endblock,\%setters); |
# $endblock,\%setters); |
|
my ($blocked, $blocktext) = Apache::loncommon::blocking_status('blogs'); |
|
$output .= '<br /><br />'.$blocktext; |
} |
} |
} else { |
} else { |
$output .= &mt('This is because the blog owner is a student in one or more courses in which communication is being blocked.'); |
$output .= &mt('This is because the blog owner is a student in one or more courses in which communication is being blocked.'); |
Line 267 sub handler {
|
Line 301 sub handler {
|
$edit=1; |
$edit=1; |
$html=1; |
$html=1; |
} |
} |
if (($mode eq 'adm') && (&Apache::lonnet::allowed('mdc',$env{'request.course.id'}))) { |
if (($mode eq 'adm') && (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) |
|
&& ($uname eq $env{'course.'.$env{'request.course.id'}.'.num'} && |
|
$udom eq $env{'course.'.$env{'request.course.id'}.'.domain'})) { |
$edit=1; |
$edit=1; |
$html=1; |
$html=1; |
} |
} |
Line 287 sub handler {
|
Line 323 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"; |
my $title = "My Space"; |
$r->print(&Apache::loncommon::start_page($title,undef, |
my $rss_link = &Apache::lonrss::rss_link($uname,$udom); |
{'domain' => $udom, |
my $brcrumb = [{href=>$rss_link,text=>"Available RSS Feeds and Blogs"}]; |
'force_register' => |
$r->print(&Apache::loncommon::start_page($title,$rss_link, |
$env{'form.register'}}). |
{'bread_crumbs' => $brcrumb, |
|
'domain' => $udom, |
|
'force_register' => $env{'form.register'}}). |
&changed_js()); |
&changed_js()); |
} else { # render RSS |
} else { # render RSS |
my $server = &Apache::lonnet::absolute_url(); |
my $server = &Apache::lonnet::absolute_url(); |
Line 312 sub handler {
|
Line 364 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 396 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 355 sub handler {
|
Line 410 sub handler {
|
} |
} |
# Add a new feed |
# Add a new feed |
if (($html) && ($edit)) { |
if (($html) && ($edit)) { |
$r->print('<form method="post" name="makenewfeed">'); |
$r->print('<h4>' . &mt('New RSS Feed or Blog'). '</h4>'); |
$r->print(&mt('Name for New Feed').": <input type='text' size='40' name='namenewblog' />"); |
$r->print('<form method="post" name="makenewfeed" action="">'); |
$r->print('<input type="submit" value="'.&mt('Start a New Feed').'" />'); |
$r->print(&mt('Name').": <input type='text' size='40' name='namenewblog' />"); |
|
$r->print('<input type="submit" value="'.&mt('New Feed').'" />'); |
$r->print('</form>'); |
$r->print('</form>'); |
} |
} |
if ($displayfeedname) { # this is an existing feed |
if ($displayfeedname) { # this is an existing feed |
Line 457 sub handler {
|
Line 513 sub handler {
|
($html?'<hr /><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').')':''). |
($displayoption eq 'hidden'?' ('.&mt('Hidden').')':''). |
($html?'</h3>'.($edit?'<form method="post" name="lonhomework" enctype="multipart/form-data"><br />'. |
($html?'</h3>'.($edit?'<form method="post" name="lonhomework" enctype="multipart/form-data" action=""><br />'. |
&mt('Name of this Feed'). |
&mt('Name of this Feed'). |
': <input type="text" size="50" name="newblogname" value="'. |
': <input type="text" size="50" name="newblogname" value="'. |
$displayfeedname.'" />':'').'<ul>':'</title>')); |
$displayfeedname.'" />':'').'<ul>':'</title>')); |
Line 474 sub handler {
|
Line 530 sub handler {
|
'private' => 'private', |
'private' => 'private', |
'hidden' => 'hidden', |
'hidden' => 'hidden', |
'delete' => 'delete', |
'delete' => 'delete', |
'store' => 'Save changes', |
'store' => 'Select', |
'title' => 'Title', |
'title' => 'Title', |
'link' => 'Link', |
'link' => 'Link', |
'description' => 'Description', |
'description' => 'Description', |
Line 496 sub handler {
|
Line 552 sub handler {
|
<li> |
<li> |
<label><input name='$id\_modified' type='checkbox' value="modified" /> $lt{'store'}</label> |
<label><input name='$id\_modified' type='checkbox' value="modified" /> $lt{'store'}</label> |
|
|
<label><input name='$id\_status' type="radio" value="public" $status{'public'} onClick="changed(this.form,'$id');" /> $lt{'public'}</label> |
<label><input name='$id\_status' type="radio" value="public" $status{'public'} onclick="changed(this.form,'$id');" /> $lt{'public'}</label> |
|
|
<label><input name='$id\_status' type="radio" value="private" $status{'private'} onClick="changed(this.form,'$id');" /> $lt{'private'}</label> |
<label><input name='$id\_status' type="radio" value="private" $status{'private'} onclick="changed(this.form,'$id');" /> $lt{'private'}</label> |
|
|
<label><input name='$id\_status' type="radio" value="hidden" $status{'hidden'} onClick="changed(this.form,'$id');" /> $lt{'hidden'}</label> |
<label><input name='$id\_status' type="radio" value="hidden" $status{'hidden'} onclick="changed(this.form,'$id');" /> $lt{'hidden'}</label> |
|
|
<label><input name='$id\_status' type="radio" value="deleted" onClick="changed(this.form,'$id');" /> $lt{'delete'}</label> |
<label><input name='$id\_status' type="radio" value="deleted" onclick="changed(this.form,'$id');" /> $lt{'delete'}</label> |
<br /> |
<br /> |
$lt{'title'}: |
$lt{'title'}: |
<input name='$id\_title' type='text' size='60' value='$newsfeed{$id.'_title'}' onChange="changed(this.form,'$id');" /><br /> |
<input name='$id\_title' type='text' size='60' value='$newsfeed{$id.'_title'}' onchange="changed(this.form,'$id');" /><br /> |
$lt{'description'}:<br /> |
$lt{'description'}:<br /> |
<textarea name='$id\_description' rows="6" cols="80" onChange="changed(this.form,'$id');">$newsfeed{$id.'_description'}</textarea><br /> |
<textarea name='$id\_description' rows="6" cols="80" onchange="changed(this.form,'$id');">$newsfeed{$id.'_description'}</textarea><br /> |
$lt{'link'}: |
$lt{'link'}: |
<input name='$id\_link' type='text' size='60' value='$newsfeed{$id.'_link'}' onChange="changed(this.form,'$id');" /><br /> |
<input name='$id\_link' type='text' size='60' value='$newsfeed{$id.'_link'}' onchange="changed(this.form,'$id');" /><br /> |
$lt{'enc'} - |
$lt{'enc'} - |
$uploadlink |
$uploadlink |
<hr /></li> |
<hr /></li> |
Line 554 ENDEDIT
|
Line 610 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('Save Marked Changes').'" />'. |
$r->print('<input type="hidden" name="newid" value="'.$newid.'"/><input type="submit" value="'.&mt('Save Selected').'" />'. |
($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').'" />')); |
} |
} |
|
$r->print('</form>'); |
} |
} |
} # was a real display feedname |
} # was a real display feedname |
$r->print(($html?'</form>'.&Apache::loncommon::end_page():'</channel></rss>'."\n")); |
$r->print(($html?&Apache::loncommon::end_page():'</channel></rss>'."\n")); |
} # a real user |
} # a real user |
return OK; |
return OK; |
} # end handler |
} # end handler |