--- loncom/interface/lonfeedback.pm 2004/11/21 04:24:49 1.144
+++ loncom/interface/lonfeedback.pm 2005/02/17 04:11:20 1.151
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Feedback
#
-# $Id: lonfeedback.pm,v 1.144 2004/11/21 04:24:49 raeburn Exp $
+# $Id: lonfeedback.pm,v 1.151 2005/02/17 04:11:20 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -68,13 +68,18 @@ sub discussion_visible {
}
sub list_discussion {
- my ($mode,$status,$ressymb)=@_;
+ my ($mode,$status,$ressymb,$imsextras)=@_;
my $outputtarget=$ENV{'form.grade_target'};
if (defined($ENV{'form.export'})) {
if($ENV{'form.export'}) {
$outputtarget = 'export';
}
}
+ if (defined($imsextras)) {
+ if ($$imsextras{'caller'} eq 'imsexport') {
+ $outputtarget = 'export';
+ }
+ }
if (not &discussion_visible($status)) { return ''; }
my @bgcols = ("#cccccc","#eeeeee");
my $discussiononly=0;
@@ -325,15 +330,26 @@ sub list_discussion {
} elsif ($outputtarget eq 'export') {
# Create temporary directory if this is an export
my $now = time;
- $tempexport = $Apache::lonnet::perlvar{'lonDaemons'}.'/tmp/ims_exports';
- if (!-e $tempexport) {
- mkdir($tempexport,0700);
- }
- $tempexport .= '/'.$now;
- if (!-e $tempexport) {
- mkdir($tempexport,0700);
+ if ((defined($imsextras)) && ($$imsextras{'caller'} eq 'imsexport')) {
+ $tempexport = $$imsextras{'tempexport'};
+ if (!-e $tempexport) {
+ mkdir($tempexport,0700);
+ }
+ $tempexport .= '/'.$$imsextras{'count'};
+ if (!-e $tempexport) {
+ mkdir($tempexport,0700);
+ }
+ } else {
+ $tempexport = $Apache::lonnet::perlvar{'lonDaemons'}.'/tmp/ims_exports';
+ if (!-e $tempexport) {
+ mkdir($tempexport,0700);
+ }
+ $tempexport .= '/'.$now;
+ if (!-e $tempexport) {
+ mkdir($tempexport,0700);
+ }
+ $tempexport .= '/'.$ENV{'user.domain'}.'_'.$ENV{'user.name'};
}
- $tempexport .= '/'.$ENV{'user.domain'}.'_'.$ENV{'user.name'};
if (!-e $tempexport) {
mkdir($tempexport,0700);
}
@@ -413,7 +429,7 @@ imscp_v1p1.xsd http://www.imsglobal.org/
if ($numhidden > 0) {
my $colspan = $maxdepth+1;
$discussion.="\n".'
'.
- ''.
''.$imsitems{$alldiscussion{$_}}{'title'}.'';
$imsresources .= "\n".
- ''.
- ''."\n".
+ ''."\n".
+ ''."\n".
$imsfiles{$alldiscussion{$_}}{$imsitems{$alldiscussion{$_}}{'currversion'}}."\n".
'';
}
@@ -634,27 +650,31 @@ END
|;
close($manifestfile);
+ if ((defined($imsextras)) && ($$imsextras{'caller'} eq 'imsexport')) {
+ $discussion = $copyresult;
+ } else {
#Create zip file in prtspool
- my $imszipfile = '/prtspool/'.
- $ENV{'user.name'}.'_'.$ENV{'user.domain'}.'_'.
- time.'_'.rand(1000000000).'.zip';
+ my $imszipfile = '/prtspool/'.
+ $ENV{'user.name'}.'_'.$ENV{'user.domain'}.'_'.
+ time.'_'.rand(1000000000).'.zip';
# zip can cause an sh launch which can pass along all of %ENV
# which can be too large for /bin/sh to handle
- my %oldENV=%ENV;
- undef(%ENV);
- my $cwd = &getcwd();
- my $imszip = '/home/httpd/'.$imszipfile;
- chdir $tempexport;
- open(OUTPUT, "zip -r $imszip * 2> /dev/null |");
- close(OUTPUT);
- chdir $cwd;
- %ENV=%oldENV;
- undef(%oldENV);
- $discussion .= 'Download the zip file from Discussion Posting Archive ';
- if ($copyresult) {
- $discussion .= 'The following errors occurred during export - '.$copyresult;
+ my %oldENV=%ENV;
+ undef(%ENV);
+ my $cwd = &getcwd();
+ my $imszip = '/home/httpd/'.$imszipfile;
+ chdir $tempexport;
+ open(OUTPUT, "zip -r $imszip * 2> /dev/null |");
+ close(OUTPUT);
+ chdir $cwd;
+ %ENV=%oldENV;
+ undef(%oldENV);
+ $discussion .= 'Download the zip file from Discussion Posting Archive ';
+ if ($copyresult) {
+ $discussion .= 'The following errors occurred during export - '.$copyresult;
+ }
}
} else {
$discussion .= ' 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. ';
@@ -729,7 +749,7 @@ ENDDISCUSS
if ($outputtarget ne 'tex') {
$discussion.='';
}
}
@@ -954,9 +974,9 @@ sub build_posting_display {
$contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'},$ressymb);
}
if ($$dischash{$readkey}=~/\.$idx\./) {
- $ctlink = ''.&mt('Mark unread').'? ';
+ $ctlink = '';
} else {
- $ctlink = ''.&mt('Mark read').'? ';
+ $ctlink = '';
}
}
#figure out at what position this needs to print
@@ -1733,18 +1753,18 @@ $lt{'sdpf'} $lt{'prca'} - $l
$lt{'disa'} |
$lt{$discdisp} |
- $lt{'chgt'} "$dispchangeA"
+ |
- $lt{'chgt'} "$dispchangeB"
+
|
$lt{'npmr'} |
$lt{$discmark} |
- $lt{'chgt'} "$markchange" |
+ |
$lt{'dotm'} |
$lt{$disctogg} |
- $lt{'chgt'} "$toggchange" |
+ |
|
@@ -1909,7 +1929,7 @@ $bodytag
|
- $lt{'shal'} |
+ |
@@ -2004,7 +2024,7 @@ END
next;
} else {
$count ++;
- $r->print(''.$count.' | | '.$last.', '.$first.' ('.$uname.','.$udom.') | '.$postcounts{$_}.' |
');
+ $r->print(''.$count.' | | '.$last.', '.$first.' ('.$uname.','.$udom.') | '.$postcounts{$_}.' |
');
}
}
}
@@ -2085,9 +2105,10 @@ sub get_post_attachments {
return;
}
-sub fail_redirect {;
+sub fail_redirect {
my ($r,$feedurl) = @_;
if ($feedurl=~/^\/adm\//) { $feedurl.='?register=1' };
+ my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif');
$r->print (<
Feedback not sent
@@ -2095,7 +2116,7 @@ sub fail_redirect {;
-
+
Sorry, no recipients ...
Continue
@@ -2173,6 +2194,7 @@ sub redirect_back {
}
}
$feedurl=&Apache::lonenc::check_encrypt($feedurl);
+ my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif');
$r->print (<
@@ -2181,7 +2203,7 @@ sub redirect_back {
-
+
$typestyle
Sent $sendsomething message(s), and $sendposts post(s).
$status
@@ -2214,10 +2236,11 @@ ENDNOREDIR
&Apache::lonenc::check_encrypt($feedurl).'">');
}
$feedurl=&Apache::lonenc::check_encrypt($feedurl);
+ my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif');
$r->print (<
-
+
$nofeed
$continue
@@ -2232,23 +2255,25 @@ sub screen_header {
unless (($ENV{'form.replydisc'}) || ($ENV{'form.editdisc'})) {
if (($feedurl=~/^\/res\//) && ($feedurl!~/^\/res\/adm/)) {
$msgoptions=
- ' '.
- &mt('Feedback to resource author').'
';
+ '';
}
if (&feedback_available(1)) {
$msgoptions.=
- '
'.
- &mt('Question about resource content');
+ '';
}
if (&feedback_available(0,1)) {
$msgoptions.=
- '
'.
- &mt('Question/Comment/Feedback about course content');
+ '';
}
if (&feedback_available(0,0,1)) {
$msgoptions.=
- '
'.
- &mt('Question/Comment/Feedback about course policy');
+ '';
}
}
if ($ENV{'request.course.id'}) {
@@ -2256,17 +2281,17 @@ sub screen_header {
&Apache::lonnet::allowed('pch',
$ENV{'request.course.id'}.
($ENV{'request.course.sec'}?'/'.$ENV{'request.course.sec'}:''))) {
- $discussoptions=' '.
&mt('Contribution to course discussion of resource');
- $discussoptions.='
'.
+ $discussoptions.='
';
}
}
- if ($msgoptions) { $msgoptions='
'.&mt('Sending Messages').'
'.$msgoptions; }
+ if ($msgoptions) { $msgoptions='
'.&mt('Sending Messages').'
'.$msgoptions; }
if ($discussoptions) {
- $discussoptions='
'.&mt('Discussion Contributions').'
'.$discussoptions; }
+ $discussoptions='
'.&mt('Discussion Contributions').'
'.$discussoptions; }
return $msgoptions.$discussoptions;
}
@@ -2607,7 +2632,7 @@ END
foreach my $id (@currold) {
my $attachurl = &HTML::Entities::decode($attachments{$id}{'filename'});
$attachurl =~ m#/([^/]+)$#;
- $r->print(' '.$1.'
'."\n");
+ $r->print('
'."\n");
}
$r->print("
");
}
@@ -2617,7 +2642,7 @@ END
$r->print("The following attachments have been uploaded for inclusion with this posting.
Check the checkboxes for any you wish to remove
\n");
foreach (@{$currnewattach}) {
$_ =~ m#/([^/]+)$#;
- $r->print(' '.$1.'
'."\n");
+ $r->print('
'."\n");
}
$r->print("
");
}
@@ -3034,6 +3059,7 @@ END
}
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
+ my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif');
$r->print (<
@@ -3042,7 +3068,7 @@ END
-
+
$textline