version 1.360, 2012/12/17 16:05:59
|
version 1.374, 2017/11/03 21:36:27
|
Line 45 use HTML::LCParser();
|
Line 45 use HTML::LCParser();
|
use Apache::lonspeller(); |
use Apache::lonspeller(); |
use Apache::longroup; |
use Apache::longroup; |
use Cwd; |
use Cwd; |
use LONCAPA; |
use LONCAPA qw(:DEFAULT :match); |
|
|
sub discussion_open { |
sub discussion_open { |
my ($status,$symb)=@_; |
my ($status,$symb)=@_; |
Line 336 sub list_discussion {
|
Line 336 sub list_discussion {
|
'aner' => 'An error occurred opening the manifest file.', |
'aner' => 'An error occurred opening the manifest file.', |
'difo' => 'Discussion for', |
'difo' => 'Discussion for', |
'aerr' => 'An error occurred opening the export file for posting', |
'aerr' => 'An error occurred opening the export file for posting', |
|
'discussions' => 'DISCUSSIONS' |
|
); |
|
my %js_lt = &Apache::lonlocal::texthash( |
'aysu' => 'Are you sure you want to delete this post?', |
'aysu' => 'Are you sure you want to delete this post?', |
'dpwn' => 'Deleted posts will no longer be visible to you and other students', |
'dpwn' => 'Deleted posts will no longer be visible to you and other students', |
'bwco' => 'but will continue to be visible to your instructor', |
'bwco' => 'but will continue to be visible to your instructor', |
'depo' => 'Deleted posts will no longer be visible to you or anyone else.', |
'depo' => 'Deleted posts will no longer be visible to you or anyone else.', |
'discussions' => 'DISCUSSIONS' |
|
); |
); |
|
&js_escape(\%js_lt); |
|
|
my $currdisp = $lt{'allposts'}; |
my $currdisp = $lt{'allposts'}; |
my $currmark = $lt{'onmark'}; |
my $currmark = $lt{'onmark'}; |
Line 447 imscp_v1p1.xsd http://www.imsglobal.org/
|
Line 450 imscp_v1p1.xsd http://www.imsglobal.org/
|
prevparm = "&previous="+previous |
prevparm = "&previous="+previous |
} |
} |
if (caller == 'studentdelete') { |
if (caller == 'studentdelete') { |
if (confirm("$lt{'aysu'}\\n$lt{'dpwn'},\\n$lt{'bwco'}")) { |
if (confirm("$js_lt{'aysu'}\\n$js_lt{'dpwn'},\\n$js_lt{'bwco'}")) { |
document.location.href = "/adm/feedback?hide="+symbparm+prevparm+groupparm |
document.location.href = "/adm/feedback?hide="+symbparm+prevparm+groupparm |
} |
} |
} else { |
} else { |
if (caller == 'seeiddelete') { |
if (caller == 'seeiddelete') { |
if (confirm("$lt{'aysu'}\\n$lt{'depo'}")) { |
if (confirm("$js_lt{'aysu'}\\n$js_lt{'depo'}")) { |
document.location.href = "/adm/feedback?deldisc="+symbparm+prevparm+groupparm |
document.location.href = "/adm/feedback?deldisc="+symbparm+prevparm+groupparm |
} |
} |
} |
} |
Line 468 imscp_v1p1.xsd http://www.imsglobal.org/
|
Line 471 imscp_v1p1.xsd http://www.imsglobal.org/
|
my $numhidden = keys(%notshown); |
my $numhidden = keys(%notshown); |
if ($numhidden > 0) { |
if ($numhidden > 0) { |
my $colspan = $maxdepth+1; |
my $colspan = $maxdepth+1; |
$discussion.="\n".'<tr><td bgcolor="#CCCCCC" colspan="'.$colspan.'">'. |
$discussion.="\n".'<tr><td bgcolor="#CCCCCC" colspan="'.$colspan.'">'; |
'<a href="/adm/feedback?allposts=1&symb='.$escsymb; |
my $href = '/adm/feedback?allposts=1&symb='.$escsymb; |
if ($newpostsflag) { |
if ($newpostsflag) { |
$discussion .= '&previous='.$prevread; |
$href .= '&previous='.$prevread; |
} |
} |
$discussion .= &group_args($group); |
$href .= &group_args($group); |
$discussion .= '">'.&mt('Show all posts').'</a> '.&mt('to display').' '. |
|
$numhidden.' '; |
|
if ($showunmark) { |
if ($showunmark) { |
$discussion .= &mt('posts previously marked read'); |
$discussion .= &mt('[_1]Show all posts[_2] to display [quant,_3,post] previously marked read', |
|
'<a href="'.$href.'">','</a>',$numhidden); |
} else { |
} else { |
$discussion .= &mt('previously viewed posts'); |
$discussion .= &mt('[_1]Show all posts[_2] to display [quant,_3,post] previously viewed', |
|
'<a href="'.$href.'">','</a>',$numhidden); |
} |
} |
$discussion .= '<br/></td></tr>'; |
$discussion .= '<br/></td></tr>'; |
} |
} |
Line 562 imscp_v1p1.xsd http://www.imsglobal.org/
|
Line 565 imscp_v1p1.xsd http://www.imsglobal.org/
|
my $postingfile; |
my $postingfile; |
my $postingfilename = $tempexport.'/'.$postfilename; |
my $postingfilename = $tempexport.'/'.$postfilename; |
if ($postingfile = Apache::File->new('>'.$postingfilename)) { |
if ($postingfile = Apache::File->new('>'.$postingfilename)) { |
print $postingfile '<html><head><title>Discussion Post</title></head><body>'. |
print $postingfile '<html><head><title>'.&mt('Discussion Post').'</title></head><body>'. |
$imsitems{$alldiscussion{$post}}{'title'}.' '. |
$imsitems{$alldiscussion{$post}}{'title'}.' '. |
$imsitems{$alldiscussion{$post}}{'sender'}. |
$imsitems{$alldiscussion{$post}}{'sender'}. |
$imsitems{$alldiscussion{$post}}{'timestamp'}.'<br /><br />'. |
$imsitems{$alldiscussion{$post}}{'timestamp'}.'<br /><br />'. |
Line 693 END
|
Line 696 END
|
|
|
#Create zip file in prtspool |
#Create zip file in prtspool |
|
|
my $imszipfile = '/prtspool/'. |
if (($env{'user.name'} =~ /^$match_username$/) |
$env{'user.name'}.'_'.$env{'user.domain'}.'_'. |
&& ($env{'user.domain'} =~ /^$match_domain$/)) { |
time.'_'.rand(1000000000).'.zip'; |
my $now = time(); |
my $cwd = &getcwd(); |
my $imszipfile = '/prtspool/'. |
my $imszip = '/home/httpd/'.$imszipfile; |
join('_',$env{'user.name'},$env{'user.domain'},$now). |
chdir $tempexport; |
'_'.rand(1000000000).'.zip'; |
open(OUTPUT, "zip -r $imszip * 2> /dev/null |"); |
my $cwd = &getcwd(); |
close(OUTPUT); |
my $imszip = '/home/httpd/'.$imszipfile; |
chdir $cwd; |
chdir $tempexport; |
$discussion .= &mt('Download the zip file from [_1]Discussion Posting Archive','<a href="'.$imszipfile.'">').'</a><br />'; |
open(OUTPUT, "zip -r $imszip * 2> /dev/null |"); |
if ($copyresult) { |
close(OUTPUT); |
$discussion .= &mt('The following errors occurred during export').' - <br />'.$copyresult; |
chdir $cwd; |
|
$discussion .= &mt('Download the zip file from [_1]Discussion Posting Archive[_2]', |
|
'<a href="'.$imszipfile.'">','</a>').'<br />'; |
|
if ($copyresult) { |
|
$discussion .= '<span class="LC_error">'. |
|
&mt('The following errors occurred during export:'). |
|
'</span><br />'.$copyresult; |
|
} |
|
} else { |
|
$discussion .= '<p class="LC_error">'. |
|
&mt('Unfortunately you will not be able to retrieve an archive of the discussion posts at this time, because there was a problem creating the zip file.').'</p>'; |
} |
} |
} |
} |
} else { |
} else { |
$discussion .= '<br />'.&mt('Unfortunately you will not be able to retrieve an archive of the discussion posts at this time, because there was a problem creating a manifest file.').'<br />'; |
$discussion .= '<p class="LC_error">'. |
|
&mt('Unfortunately you will not be able to retrieve an archive of the discussion posts at this time, because there was a problem creating a manifest file.').'</p>'; |
} |
} |
return $discussion; |
return $discussion; |
} |
} |
Line 926 sub postingform_display {
|
Line 940 sub postingform_display {
|
$currnewattach,$currdelold,$group,$crstype) = @_; |
$currnewattach,$currdelold,$group,$crstype) = @_; |
my $newattachmsg; |
my $newattachmsg; |
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |
'note' => 'Note: in anonymous discussion, your name is visible only to course faculty', |
'note' => 'Note: in anonymous discussion, your name is visible only to course faculty', |
'title' => 'Title', |
'title' => 'Title', |
'podi' => 'Post Discussion', |
'podi' => 'Post Discussion', |
'poan' => 'Post Anonymous Discussion', |
'poan' => 'Post Anonymous Discussion', |
Line 945 sub postingform_display {
|
Line 959 sub postingform_display {
|
} |
} |
} |
} |
} |
} |
|
my $postanon; |
|
if (&Apache::lonnet::allowed('pac',$env{'request.course.id'}. |
|
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
|
$postanon = '<input type="submit" name="anondiscuss" value="'.$lt{'poan'}.'" />'; |
|
} |
$postingform .= (<<ENDDISCUSS); |
$postingform .= (<<ENDDISCUSS); |
<form action="/adm/feedback" method="post" name="mailform" enctype="multipart/form-data"> <input type="submit" name="discuss" value="$lt{'podi'}" /> |
<form action="/adm/feedback" method="post" name="mailform" enctype="multipart/form-data"> <input type="submit" name="discuss" value="$lt{'podi'}" /> |
<input type="submit" name="anondiscuss" value="$lt{'poan'}" /> <input type="hidden" name="symb" value="$ressymb" /> |
$postanon<input type="hidden" name="symb" value="$ressymb" /> |
<input type="hidden" name="sendit" value="true" /> |
<input type="hidden" name="sendit" value="true" /> |
<input type="hidden" name="timestamp" value="$now" /> |
<input type="hidden" name="timestamp" value="$now" /> |
<a name="newpost"></a> |
<a name="newpost"></a> |
Line 1278 sub build_posting_display {
|
Line 1297 sub build_posting_display {
|
if (&editing_allowed($escsymb.':::'.$idx,$group)) { |
if (&editing_allowed($escsymb.':::'.$idx,$group)) { |
if (($env{'user.domain'} eq $contrib{$idx.':senderdomain'}) && ($env{'user.name'} eq $contrib{$idx.':sendername'})) { |
if (($env{'user.domain'} eq $contrib{$idx.':senderdomain'}) && ($env{'user.name'} eq $contrib{$idx.':sendername'})) { |
$sender.=' '. |
$sender.=' '. |
&discussion_link($symb,&mt('Edit'),'editdisc',$idx,$$newpostsflag,$prevread,&group_args($group)); |
&discussion_link($ressymb,&mt('Edit'),'editdisc',$idx,$$newpostsflag,$prevread,&group_args($group)); |
unless ($seehidden) { |
unless ($seehidden) { |
my $grpargs = &group_args($group); |
my $grpargs = &group_args($group); |
$sender.=" <a href=\"javascript:verifydelete('studentdelete','$escsymb','$idx','$$newpostsflag','$prevread','$grpargs')"; |
$sender.=" <a href=\"javascript:verifydelete('studentdelete','$escsymb','$idx','$$newpostsflag','$prevread','$grpargs')"; |
Line 1290 sub build_posting_display {
|
Line 1309 sub build_posting_display {
|
if ($hiddens{$idx}) { |
if ($hiddens{$idx}) { |
unless ($studenthidden) { |
unless ($studenthidden) { |
$sender.=' '. |
$sender.=' '. |
&discussion_link($symb,&mt('Make Visible'),'unhide',$idx,$$newpostsflag,$prevread,&group_args($group)); |
&discussion_link($ressymb,&mt('Make Visible'),'unhide',$idx,$$newpostsflag,$prevread,&group_args($group)); |
} |
} |
} else { |
} else { |
$sender.=' '. |
$sender.=' '. |
&discussion_link($symb,&mt('Hide'),'hide',$idx,$$newpostsflag,$prevread,&group_args($group)); |
&discussion_link($ressymb,&mt('Hide'),'hide',$idx,$$newpostsflag,$prevread,&group_args($group)); |
} |
} |
my $grpargs = &group_args($group); |
my $grpargs = &group_args($group); |
$sender.= |
$sender.= |
Line 1333 sub build_posting_display {
|
Line 1352 sub build_posting_display {
|
if (($group ne '') && |
if (($group ne '') && |
(&check_group_priv($group,'pgd') eq 'ok')) { |
(&check_group_priv($group,'pgd') eq 'ok')) { |
$sender.=' '. |
$sender.=' '. |
&discussion_link($symb,&mt('Reply'),'replydisc',$idx,$$newpostsflag,$prevread,&group_args($group)); |
&discussion_link($ressymb,&mt('Reply'),'replydisc',$idx,$$newpostsflag,$prevread,&group_args($group)); |
} elsif (&Apache::lonnet::allowed('pch', |
} elsif (&Apache::lonnet::allowed('pch', |
$env{'request.course.id'}. |
$env{'request.course.id'}. |
($env{'request.course.sec'}?'/'. |
($env{'request.course.sec'}?'/'. |
$env{'request.course.sec'}:''))) { |
$env{'request.course.sec'}:''))) { |
$sender.=' '. |
$sender.=' '. |
&discussion_link($symb,&mt('Reply'),'replydisc',$idx,$$newpostsflag,$prevread); |
&discussion_link($ressymb,&mt('Reply'),'replydisc',$idx,$$newpostsflag,$prevread); |
} |
} |
} |
} |
if ($viewgrades) { |
if ($viewgrades) { |
Line 1496 sub build_posting_display {
|
Line 1515 sub build_posting_display {
|
} else { |
} else { |
$novote = &mt('No voting for hidden posts.'); |
$novote = &mt('No voting for hidden posts.'); |
} |
} |
|
&html_escape(\$novote); |
$$discussionitems[$idx].= |
$$discussionitems[$idx].= |
'<a href="javascript:alert('."'$novote'".');" style="text-decoration: none;">'. |
'<a href="javascript:alert('."'$novote'".');" style="text-decoration: none;">'. |
'<img border="0" src="/res/adm/pages/thumbsup_novote.png" alt="'.$novote.'" /> '. |
'<img border="0" src="/res/adm/pages/thumbsup_novote.png" alt="'.$novote.'" /> '. |
Line 1505 sub build_posting_display {
|
Line 1525 sub build_posting_display {
|
if ($userlikes{$idx}) { |
if ($userlikes{$idx}) { |
$$discussionitems[$idx].='<img border="0" src="/res/adm/pages/thumbsup_gray.png" alt="'.&mt('You like this posting').'" />'; |
$$discussionitems[$idx].='<img border="0" src="/res/adm/pages/thumbsup_gray.png" alt="'.&mt('You like this posting').'" />'; |
} else { |
} else { |
$$discussionitems[$idx].=' '.&discussion_link($symb,'<img border="0" src="/res/adm/pages/thumbsup.png" alt="'.&mt('Like').'" />','like',$idx,$$newpostsflag,$prevread,&group_args($group),&mt("Like this posting")); |
$$discussionitems[$idx].=' '.&discussion_link($ressymb,'<img border="0" src="/res/adm/pages/thumbsup.png" alt="'.&mt('Like').'" />','like',$idx,$$newpostsflag,$prevread,&group_args($group),&mt("Like this posting")); |
} |
} |
if ($userunlikes{$idx}) { |
if ($userunlikes{$idx}) { |
$$discussionitems[$idx].='<img border="0" src="/res/adm/pages/thumbsdown_gray.png" alt="'.&mt('You unlike this posting').'" />'; |
$$discussionitems[$idx].='<img border="0" src="/res/adm/pages/thumbsdown_gray.png" alt="'.&mt('You unlike this posting').'" />'; |
} else { |
} else { |
$$discussionitems[$idx].=' '.&discussion_link($symb,'<img border="0" src="/res/adm/pages/thumbsdown.png" alt="'.&mt('Unlike').'" />','unlike',$idx,$$newpostsflag,$prevread,&group_args($group),&mt("Unlike this posting")); |
$$discussionitems[$idx].=' '.&discussion_link($ressymb,'<img border="0" src="/res/adm/pages/thumbsdown.png" alt="'.&mt('Unlike').'" />','unlike',$idx,$$newpostsflag,$prevread,&group_args($group),&mt("Unlike this posting")); |
} |
} |
} |
} |
} |
} |
Line 1528 sub build_posting_display {
|
Line 1548 sub build_posting_display {
|
$$discussionitems[$idx] .= ' '.&mt('This post has been edited by the author.'); |
$$discussionitems[$idx] .= ' '.&mt('This post has been edited by the author.'); |
if ($seehidden) { |
if ($seehidden) { |
$$discussionitems[$idx] .= ' '. |
$$discussionitems[$idx] .= ' '. |
&discussion_link($symb,&mt('Display all versions'),'allversions',$idx,$$newpostsflag,$prevread,&group_args($group)); |
&discussion_link($ressymb,&mt('Display all versions'),'allversions',$idx,$$newpostsflag,$prevread,&group_args($group)); |
} |
} |
$$discussionitems[$idx].='<br/>'.&mt('Earlier version(s) were posted on: '); |
$$discussionitems[$idx].='<br/>'.&mt('Earlier version(s) were posted on: '); |
if ($contrib{$idx.':history'} =~ m/:/) { |
if ($contrib{$idx.':history'} =~ m/:/) { |
Line 1896 END
|
Line 1916 END
|
my $latexHelp=&Apache::loncommon::helpLatexCheatsheet(undef,undef,1,($env{'form.modal'}?'popup':0)); |
my $latexHelp=&Apache::loncommon::helpLatexCheatsheet(undef,undef,1,($env{'form.modal'}?'popup':0)); |
my $send=&mt('Send'); |
my $send=&mt('Send'); |
my $alert = &mt('Please select a feedback type.'); |
my $alert = &mt('Please select a feedback type.'); |
|
&js_escape(\$alert); |
my $js= <<END; |
my $js= <<END; |
<script type="text/javascript"> |
<script type="text/javascript"> |
//<!-- |
//<!-- |
Line 1933 END
|
Line 1954 END
|
$anonscript |
$anonscript |
//--> |
//--> |
</script> |
</script> |
|
<script type="text/javascript" src="/res/adm/includes/file_upload.js"></script> |
END |
END |
|
|
my ($textareaheader,$textareaclass); |
my ($textareaheader,$textareaclass); |
Line 1952 END
|
Line 1974 END
|
|
|
my %onload = ('onload' => 'window.focus();setposttype();'); |
my %onload = ('onload' => 'window.focus();setposttype();'); |
my %parms=('add_entries' => \%onload); |
my %parms=('add_entries' => \%onload); |
if ($env{'form.modal'} ne 'yes') { 'bread_crumbs' => $brcrum } |
if ($env{'form.modal'} ne 'yes') { $parms{'bread_crumbs'} = $brcrum; } |
my $start_page= |
my $start_page= |
&Apache::loncommon::start_page('Resource Feedback and Discussion',$js,\%parms); |
&Apache::loncommon::start_page('Resource Feedback and Discussion',$js,\%parms); |
|
|
Line 2040 END
|
Line 2062 END
|
} else { |
} else { |
$r->print(<<END); |
$r->print(<<END); |
<p> |
<p> |
$lt{'atta'} $attachmaxtext: <input type="file" name="attachment" /> |
$lt{'atta'} $attachmaxtext: <input type="file" name="attachment" class="flUpload" /> |
|
<input type="hidden" id="free_space" value="131072" /> |
</p> |
</p> |
END |
END |
} |
} |
Line 2051 END
|
Line 2074 END
|
$r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}.'" />'); |
$r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}.'" />'); |
} |
} |
$r->print(<<END); |
$r->print(<<END); |
<input type="hidden" name="sendit" value="1" /> |
<input type="hidden" name="sendit" value="1" /><br /><br /> |
<input type="button" value="$send" onclick='gosubmit();' /> |
<input type="button" value="$send" onclick='gosubmit();' /> |
</form> |
</form> |
END |
END |
Line 2129 sub print_display_options {
|
Line 2152 sub print_display_options {
|
'yhni' => 'You have not indicated that you wish to change any of the discussion settings', |
'yhni' => 'You have not indicated that you wish to change any of the discussion settings', |
'ywbr' => 'You will be returned to the previous page if you click OK.' |
'ywbr' => 'You will be returned to the previous page if you click OK.' |
); |
); |
|
my %js_lt = &Apache::lonlocal::texthash( |
|
'yhni' => 'You have not indicated that you wish to change any of the discussion settings', |
|
'ywbr' => 'You will be returned to the previous page if you click OK.' |
|
); |
|
&js_escape(\%js_lt); |
|
|
my $dispchangeA = $lt{'unread'}; |
my $dispchangeA = $lt{'unread'}; |
my $dispchangeB = $lt{'unmark'}; |
my $dispchangeB = $lt{'unmark'}; |
Line 2222 function setDisp() {
|
Line 2250 function setDisp() {
|
if (chktotal > 0) { |
if (chktotal > 0) { |
document.modifydisp.submit() |
document.modifydisp.submit() |
} else { |
} else { |
if(confirm("$lt{'yhni'}. \\n$lt{'ywbr'}")) { |
if(confirm("$js_lt{'yhni'}. \\n$js_lt{'ywbr'}")) { |
if (prev > 0) { |
if (prev > 0) { |
location.href = "$feedurl?previous=$previous" |
location.href = "$feedurl?previous=$previous" |
} else { |
} else { |
Line 2582 sub print_showposters {
|
Line 2610 sub print_showposters {
|
my $table_start =&Apache::loncommon::start_data_table(); |
my $table_start =&Apache::loncommon::start_data_table(); |
$r->print(<<END); |
$r->print(<<END); |
$start_page |
$start_page |
<form name="pickpostersform" method="post"> |
<form name="pickpostersform" method="post" action=""> |
<br /> |
<br /> |
$table_start |
$table_start |
<tr> |
<tr> |
Line 2921 sub screen_header {
|
Line 2949 sub screen_header {
|
$env{'request.course.id'}. |
$env{'request.course.id'}. |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:'')) || |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:'')) || |
(($group ne '') && ($symb =~ m{^bulletin___\d+___adm/wrapper/adm/\Q$cdom\E/\Q$cnum\E/\d+/bulletinboard$}) && (&check_group_priv($group,'pgd') eq 'ok')))) { |
(($group ne '') && ($symb =~ m{^bulletin___\d+___adm/wrapper/adm/\Q$cdom\E/\Q$cnum\E/\d+/bulletinboard$}) && (&check_group_priv($group,'pgd') eq 'ok')))) { |
$discussoptions='<label><input type="radio" name="discuss" value="nonanon" checked="checked" /> '. |
$discussoptions='<label><input type="radio" name="discuss" value="nonanon" checked="checked" /> '. |
$contribdisc. |
$contribdisc. |
'</label><br /><label><input type="radio" name="discuss" value="anon" /> '. |
'</label>'; |
$anoncontrib. |
if (&Apache::lonnet::allowed('pac',$env{'request.course.id'}. |
' <i>('.$namevis.')</i></label> '. |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
'<a href="/adm/preferences?action=changescreenname">'.&mt('Change Screenname').'</a>'; |
$discussoptions .= '<br /><label><input type="radio" name="discuss" value="anon" /> '. |
|
$anoncontrib. |
|
' <i>('.$namevis.')</i></label> '. |
|
'<a href="/adm/preferences?action=changescreenname">'.&mt('Change Screenname').'</a>'; |
|
} |
my $blockblog = &Apache::loncommon::blocking_status('blogs'); |
my $blockblog = &Apache::loncommon::blocking_status('blogs'); |
if (!$blockblog) { |
if (!$blockblog) { |
$discussoptions.= &add_blog_checkbox($crstype); |
$discussoptions.= &add_blog_checkbox($crstype); |
Line 3484 sub modify_attachments {
|
Line 3516 sub modify_attachments {
|
document.modattachments.submit(); |
document.modattachments.submit(); |
} |
} |
</script> |
</script> |
|
<script type="text/javascript" src="/res/adm/includes/file_upload.js"></script> |
END |
END |
|
|
# Breadcrumbs |
# Breadcrumbs |
my $brcrum = [{'href' => '', |
my $brcrum = [{'href' => '', |
'text' => 'Discussion Post Attachments'}]; |
'text' => 'Discussion Post Attachments'}]; |
my %parms=('only_body' => 1); |
my %parms=('only_body' => 1); |
if ($env{'form.modal'} ne 'yes') { 'bread_crumbs' => $brcrum } |
if ($env{'form.modal'} ne 'yes') { $parms{'bread_crumbs'} = $brcrum; } |
|
|
my $start_page = |
my $start_page = |
&Apache::loncommon::start_page('Discussion Post Attachments',$js,\%parms); |
&Apache::loncommon::start_page('Discussion Post Attachments',$js,\%parms); |
Line 3525 END
|
Line 3558 END
|
$r->print('<b>'.$subject.'</b>'); |
$r->print('<b>'.$subject.'</b>'); |
$r->print(&Apache::lonhtmlcommon::row_closure()); |
$r->print(&Apache::lonhtmlcommon::row_closure()); |
$r->print(&Apache::lonhtmlcommon::row_title($lt{'adda'})); |
$r->print(&Apache::lonhtmlcommon::row_title($lt{'adda'})); |
$r->print('<input type="file" name="addnewattach" /><input type="button" name="upload" value="Upload" onclick="this.form.submit()" /> '.$attachmaxtext); |
$r->print('<input type="file" name="addnewattach" class="flUpload" />' |
|
.'<input type="hidden" id="free_space" value="131072" />' |
|
.'<input type="button" name="upload" value="Upload" ' |
|
.'onclick="this.form.submit()" /> '.$attachmaxtext); |
if(($idx)||(ref($currnewattach) eq 'ARRAY') && (@{$currnewattach} > 0)){ |
if(($idx)||(ref($currnewattach) eq 'ARRAY') && (@{$currnewattach} > 0)){ |
$r->print(&Apache::lonhtmlcommon::row_closure()); |
$r->print(&Apache::lonhtmlcommon::row_closure()); |
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Attachments'))); |
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Attachments'))); |
Line 3908 sub handler {
|
Line 3944 sub handler {
|
'text' => 'Discussion Post Versions'}]; |
'text' => 'Discussion Post Versions'}]; |
|
|
my %parms=(); |
my %parms=(); |
if ($env{'form.modal'} ne 'yes') { 'bread_crumbs' => $brcrum } |
if ($env{'form.modal'} ne 'yes') { $parms{'bread_crumbs'} = $brcrum; } |
|
|
$r->print(&Apache::loncommon::start_page('Discussion Post Versions',undef,\%parms)); |
$r->print(&Apache::loncommon::start_page('Discussion Post Versions',undef,\%parms)); |
|
|
Line 3990 sub handler {
|
Line 4026 sub handler {
|
$discinfo{$lastkey} = $env{'form.navtime'}; |
$discinfo{$lastkey} = $env{'form.navtime'}; |
} |
} |
my $textline = '<b>'. |
my $textline = '<b>'. |
&mt('Marked "New" posts as read in a total of [_1] resources/bulletin boards.', |
&mt('Marked "New" posts as read in a total of [_1] resources/discussion boards.', |
$numitems). |
$numitems). |
'</b>"; |
'</b>'; |
if ($numitems > 0) { |
if ($numitems > 0) { |
&Apache::lonnet::put('nohist_'.$env{'request.course.id'}.'_discuss', |
&Apache::lonnet::put('nohist_'.$env{'request.course.id'}.'_discuss', |
\%discinfo,$env{'user.domain'},$env{'user.name'}); |
\%discinfo,$env{'user.domain'},$env{'user.name'}); |
Line 4423 ENDREDIR
|
Line 4459 ENDREDIR
|
$cdom,$cnum); |
$cdom,$cnum); |
$contrib{'deleted'} =~ s/^\.//; |
$contrib{'deleted'} =~ s/^\.//; |
$contrib{'deleted'} =~ s/\.$//; |
$contrib{'deleted'} =~ s/\.$//; |
|
my $confirm_msg; |
if ($contrib{'deleted'} ne '') { |
if ($contrib{'deleted'} ne '') { |
if (&Apache::lonnet::store({'deleted' => ''},$symb,$env{'request.course.id'}, |
if (&Apache::lonnet::store({'deleted' => ''},$symb,$env{'request.course.id'}, |
$cdom,$cnum) eq 'ok') { |
$cdom,$cnum) eq 'ok') { |
Line 4450 ENDREDIR
|
Line 4487 ENDREDIR
|
$uname,$udom,$env{'request.course.id'}, |
$uname,$udom,$env{'request.course.id'}, |
'undelete'); |
'undelete'); |
} |
} |
$r->print(&Apache::lonhtmlcommon::confirm_success(&mt("Undeleted all entries"))); |
$confirm_msg = &Apache::lonhtmlcommon::confirm_success(&mt("Undeleted all entries")); |
} else { |
} else { |
$r->print(&Apache::lonhtmlcommon::confirm_success(&mt("Failed to undelete entries"),1)); |
$confirm_msg = &Apache::lonhtmlcommon::confirm_success(&mt("Failed to undelete entries"),1); |
} |
} |
} else { |
} else { |
$r->print(&Apache::lonhtmlcommon::confirm_success(&mt("No entries to undelete"),1)); |
$confirm_msg = &Apache::lonhtmlcommon::confirm_success(&mt("No entries to undelete"),1); |
} |
} |
$r->print("<br /><a href='$feedurl'>".&mt("Return and reload")."</a>"); |
$r->print( |
|
'<br />' |
|
.&Apache::loncommon::confirmwrapper($confirm_msg) |
|
.&Apache::lonhtmlcommon::actionbox( |
|
["<a href='$feedurl'>".&mt("Return and reload")."</a>"]) |
|
); |
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
return OK; |
return OK; |
Line 4610 ENDREDIR
|
Line 4652 ENDREDIR
|
&& $env{'form.discuss'} !~ /^(?:author|question|course|policy)/) |
&& $env{'form.discuss'} !~ /^(?:author|question|course|policy)/) |
|| $env{'form.anondiscuss'} ne '') { |
|| $env{'form.anondiscuss'} ne '') { |
my $subject = &clear_out_html($env{'form.subject'}); |
my $subject = &clear_out_html($env{'form.subject'}); |
my $anonmode=($env{'form.discuss'} eq 'anon' || $env{'form.anondiscuss'} ); |
my $anonmode; |
|
if (&Apache::lonnet::allowed('pac',$env{'request.course.id'}. |
|
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
|
$anonmode=($env{'form.discuss'} eq 'anon' || $env{'form.anondiscuss'} ); |
|
} |
$typestyle.=&adddiscuss($symb,$message,$anonmode,$attachmenturl, |
$typestyle.=&adddiscuss($symb,$message,$anonmode,$attachmenturl, |
$subject,$group); |
$subject,$group); |
$numpost++; |
$numpost++; |