--- loncom/homework/inputtags.pm 2005/03/15 16:50:19 1.159
+++ loncom/homework/inputtags.pm 2005/03/31 21:24:29 1.160
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# input definitons
#
-# $Id: inputtags.pm,v 1.159 2005/03/15 16:50:19 albertel Exp $
+# $Id: inputtags.pm,v 1.160 2005/03/31 21:24:29 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -294,6 +294,62 @@ sub end_hiddenline {
return "";
}
+# $part -> partid
+# $id -> responseid
+# $uploadefiletypes -> comma seperated list of extensions allowed or * for any
+# $which -> 'uploadedonly' -> only newly uploaded files
+# 'portfolioonly' -> only allow files from portfolio
+# 'both' -> allow files from either location
+# returns a table row
+sub file_selector {
+ my ($part,$id,$uploadedfiletypes,$which)=@_;
+ if (!$uploadedfiletypes) { return ''; }
+ my $result;
+
+ $result.='
'.
+ &mt('Allowed filetypes: [_1]',$uploadedfiletypes).' ';
+ if ($which eq 'uploadonly' || $which eq 'both') {
+ $result.=&mt('Submit a file: (only one file can be uploaded)').
+ '
';
+ my $uploadedfile= &HTML::Entities::encode($Apache::lonhomework::history{"resource.$part.$id.uploadedfile"},'<>&"');
+
+ if ($uploadedfile) {
+ my $url=$Apache::lonhomework::history{"resource.$part.$id.uploadedurl"};
+ push (@Apache::lonxml::extlinks,$url);
+ &Apache::lonnet::allowuploaded('/adm/essayresponse',$url);
+ my $icon=&Apache::loncommon::icon($url);
+ my $curfile=''.$uploadedfile.'';
+ $result.=&mt('Currently submitted: [_1]',$curfile);
+ } else {
+ #$result.=&mt('(Hand in a file you have prepared on your computer)');
+ }
+ }
+ if ( $which eq 'both') {
+ $result.=' '.''.&mt('OR:').' ';
+ }
+ if ($which eq 'portfolioonly' || $which eq 'both') {
+ $result.=''.
+ &mt('Select Portfolio Files').' '.
+ ''.
+ ' ';
+ if ($Apache::lonhomework::history{"resource.$part.$id.portfiles"}=~/[^\s]/){
+ my $filelist;
+ foreach my $file (split(',',&Apache::lonnet::unescape($Apache::lonhomework::history{"resource.$part.$id.portfiles"}))) {
+ my (undef,undef,$domain,$user)=&Apache::lonxml::whichuser();
+ my $url="/uploaded/$domain/$user/portfolio$file";
+ my $icon=&Apache::loncommon::icon($url);
+ $filelist.=''.$file.'';
+ }
+ $result.=&mt("Portfolio files previously selected: [_1]",$filelist);
+ }
+ }
+ $result.=' |
';
+ return $result;
+}
+
sub checkstatus {
my ($value,$awardref,$msgref)=@_;
for (my $i=0;$i<=$#$awardref;$i++) {