--- loncom/homework/essayresponse.pm 2001/04/05 00:07:53 1.2
+++ loncom/homework/essayresponse.pm 2006/10/17 17:09:44 1.78
@@ -1,33 +1,274 @@
# The LearningOnline Network with CAPA
# essay (ungraded) style responses
-# 4/3 Guy
+#
+# $Id: essayresponse.pm,v 1.78 2006/10/17 17:09:44 albertel 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;
+use lib '/home/httpd/lib/perl/';
+use LONCAPA;
+
-sub BEGIN {
- &Apache::lonxml::register('Apache::essayresponse',('essayresponse'));
+BEGIN {
+ &Apache::lonxml::register('Apache::essayresponse',('essayresponse'));
}
sub start_essayresponse {
- my ($target,$token,$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' &&
+ $Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
+ 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;
+ if ( $Apache::lonhomework::type eq 'survey' ) {
+ $result.= ' ';
+ }
+ $result.='
';
+ if ( $Apache::lonhomework::type ne 'survey' ) {
+ $result.= '