--- loncom/homework/essayresponse.pm 2001/06/02 03:59:59 1.3
+++ loncom/homework/essayresponse.pm 2004/10/18 22:14:15 1.40
@@ -1,33 +1,217 @@
# The LearningOnline Network with CAPA
# essay (ungraded) style responses
-# 4/3 Guy
+#
+# $Id: essayresponse.pm,v 1.40 2004/10/18 22:14:15 banghart Exp $
+#
+# Copyright Michigan State University Board of Trustees
+#
+# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
+#
+# LON-CAPA is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# LON-CAPA is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LON-CAPA; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# /home/httpd/html/adm/gpl.txt
+#
+# http://www.lon-capa.org/
+#
+
package Apache::essayresponse;
use strict;
+use Apache::lonxml();
+use Apache::lonnet();
+use Apache::lonlocal;
-sub BEGIN {
- &Apache::lonxml::register('Apache::essayresponse',('essayresponse'));
+BEGIN {
+ &Apache::lonxml::register('Apache::essayresponse',('essayresponse'));
}
sub start_essayresponse {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
- my $id = &Apache::response::start_response($parstack,$safeeval);
- return '';
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $result;
+ my $id = &Apache::response::start_response($parstack,$safeeval);
+ if ($target eq 'meta') {
+ $result=&Apache::response::meta_package_write('essayresponse');
+ } elsif ($target eq 'web') {
+ my $part= $Apache::inputtags::part;
+ my $ncol= &Apache::lonnet::EXT("resource.$part".'_'."$id.maxcollaborators");
+ my $coll= &HTML::Entities::encode($Apache::lonhomework::history{"resource.$part.$id.collaborators"},'<>&"');
+ my $uploadedfiletypes= &Apache::lonnet::EXT("resource.$part".'_'."$id.uploadedfiletypes");
+ $uploadedfiletypes=~s/[^\w\,]//g;
+ my $uploadedfile= &HTML::Entities::encode($Apache::lonhomework::history{"resource.$part.$id.uploadedfile"},'<>&"');
+ $result='
'.
+ 'Select Portfolio Files'.
+ ' '. + ' '. + ' '. + &mt('Submit entries below as answer to receive credit').' '. + ' '. + &mt('Save entries below as a draft answer (not submitting them for credit yet)'). + ' |
'.
+ 'Collaborators: '. + &mt('(Enter maximum [_1] collaborators using username or username@domain, e.g. smithje or smithje@[_2].)',$ncol,$ENV{'user.domain'}).' '; + $result .= &check_collaborators($ncol,$coll) if ($coll =~ /\w+/); + $result .=' |
'.&mt('Submit a file:').
+ ' '. + &mt('Allowed filetypes: [_1]',$uploadedfiletypes). + ' '; + if ($uploadedfile) { + my $url=$Apache::lonhomework::history{"resource.$part.$id.uploadedurl"}; + push (@Apache::lonxml::extlinks,$url); + &Apache::lonnet::allowuploaded('/adm/essayresponse',$url); + my $curfile=' '. + $uploadedfile.''; + $result.=&mt('Currently submitted: [_1]',$curfile); + } else { + $result.=&mt('(Hand in a file you have prepared on your computer)'); + } + $result.=' |
The following user'. + (scalar(@badcollaborators) > 1 ? 's are' : ' is').' invalid: '. + join(', ',@badcollaborators).'. Please correct. |
'. + 'You have too many collaborators. Please remove '.$toomany.' collaborator'. + ($toomany > 1 ? 's' :'').'. |