--- loncom/homework/essayresponse.pm 2002/07/09 17:18:25 1.8
+++ loncom/homework/essayresponse.pm 2005/04/05 15:38:57 1.61
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# essay (ungraded) style responses
#
-# $Id: essayresponse.pm,v 1.8 2002/07/09 17:18:25 ng Exp $
+# $Id: essayresponse.pm,v 1.61 2005/04/05 15:38:57 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -25,47 +25,201 @@
#
# http://www.lon-capa.org/
#
-# 4/3 Guy
+
package Apache::essayresponse;
use strict;
+use Apache::lonxml();
+use Apache::lonnet();
+use Apache::lonlocal;
BEGIN {
- &Apache::lonxml::register('Apache::essayresponse',('essayresponse'));
+ &Apache::lonxml::register('Apache::essayresponse',('essayresponse'));
}
sub start_essayresponse {
- 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');
- }
-# if ($target eq 'web') {
-# $result=' Collaborators: ';
-# }
- return $result;
+ 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;
+ $result='
';
+ $result.='
'.
+ ' '.
+ &mt('Submit entries below as answer to receive credit').' '.
+ ' '.
+ &mt('Save entries below as a draft answer (not submitting them for credit yet)').
+ '
';
+ if ($ncol > 0) {
+ $result .='
'.
+ '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 .='