# The LearningOnline Network # Evaluate # # $Id: lonevaluate.pm,v 1.9 2002/08/09 19:49:30 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/ # # (Internal Server Error Handler # # (Login Screen # 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14, # 1/14/00,5/29,5/30,6/1,6/29,7/1,11/9 Gerd Kortemeyer) # # 3/1/1 Gerd Kortemeyer) # # 3/1,12/6,12/12,12/21,12/22 Gerd Kortemeyer # package Apache::lonevaluate; use strict; use Apache::lonnet; use Apache::Constants qw(:common); sub handler { my $r = shift; $r->content_type('text/html'); $r->send_http_header; return OK if $r->header_only; &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['postdata']); my $feedurl=$ENV{'form.postdata'}; $feedurl=~s/^http\:\/\///; $feedurl=~s/^$ENV{'SERVER_NAME'}//; $feedurl=~s/^$ENV{'HTTP_HOST'}//; $feedurl=&Apache::lonnet::declutter($feedurl); my $symb=&Apache::lonnet::symbread($feedurl); my ($rdomain,$rauth)=($feedurl=~/^(\w+)\/(\w+)\//); my $prefix=$ENV{'user.name'}.'@'.$ENV{'user.domain'}.'___'. $feedurl.'___'; my @items=('correct','helpful','depth','clear','technical','comments', 'timestamp'); my @retrieve=map{ $prefix.$_ } @items; my %currenteval= &Apache::lonnet::get('nohist_resevaldata',\@retrieve,$rdomain,$rauth); my $already=($currenteval{$prefix.'timestamp'} ne ''); $ENV{'form.timestamp'}=time; my $warning=''; if ($ENV{'form.submiteval'} eq 'true') { # ------------------------------------------------ User is submitting something my $complete=1; foreach my $item (@items) { if ($ENV{'form.'.$item}) { $currenteval{$prefix.$item}=$ENV{'form.'.$item}; } elsif ($item ne 'comments') { $complete=0; } } if ($complete) { $r->print(< Evaluation submitted

Thank you for your input!

ENDHEADER $r->print('Storing feedback: '. &Apache::lonnet::put('nohist_resevaldata',\%currenteval,$rdomain,$rauth)); unless ($already) { $r->print('
Logging first evaluation'); } $r->print( ''); return OK; } else { $warning='Please fill out all fields below'; } } # ---------------------------------------------------------- Dial in old values my $dialold=''; my $oldcomments=''; foreach my $item (@items) { unless ($item eq 'comments') { unless ($item eq 'timestamp') { $dialold.= 'document.evaluation.'.$item.'.selectedIndex='. $currenteval{$prefix.$item}.";\n"; } } else { $oldcomments=$currenteval{$prefix.$item}; } } # ------------------------------------------------------- Print out eval screen my $standardoptions=(<- ENDOPTIONS $r->print(< The LearningOnline Network with CAPA

Evaluate Resource

$feedurl

$warning

Please rank the following criteria:
The material appears to be correct

The material is helpful

The material is covered with sufficient depth

The material is presented in a clear way

The resource is technically correct (loads fast enough, does not produce errors, links work, etc)

Any comments?

ENDDOCUMENT return OK; } 1; __END__