--- 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++) {