# The LearningOnline Network # Simple Problem Parameter Setting "Editor" # # $Id: lonsimpleproblemedit.pm,v 1.1 2003/07/07 07:32:16 www 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::lonsimpleproblemedit; use strict; use Apache::Constants qw(:common :http); use Apache::loncommon; use Apache::lonnet; sub questiontext { my $text=shift; return (< Question Text

ENDQUESTION } sub hint { my $text=shift; return (< Hint Text

ENDHINT } sub foil { my ($number,$value,$position,$text,%values)=@_; $values{'unused'}='Not shown, not used'; unless (defined($value)) { $value='unused'; } unless ($values{$value}) { $value='unused'; } my %positions=('random' => 'Random position', 'top' => 'Show always at top position', 'bottom' => 'Show always at bottom position'); unless (defined($position)) { $position='random'; } unless ($positions{$position}) { $position='random'; } my $selectvalue=&Apache::loncommon::select_form ($value,'value'.$number,%values); my $selectposition=&Apache::loncommon::select_form ($position,'position'.$number,%positions); return (< Foil Value: $selectvaluePosition: $selectposition Text:

ENDFOIL } sub handler { my $r = shift; if ($r->header_only) { $r->content_type('text/html'); $r->send_http_header; return OK; } # -------------------------------------------------------------------- Allowed? unless (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) { return HTTP_NOT_ACCEPTABLE; } # ----------------------------------------------------------------- Send header $r->content_type('text/html'); $r->send_http_header; # ----------------------------------------------------- Figure out where we are my $uri=$r->uri; $uri=~s/\/smpedit$//; my $symb=&Apache::lonnet::symbread($uri); # ---------------------------------------------------------- Anything to store? if (($symb) && ($ENV{'form.storeproblem'})) { my %storecontent=(); undef %storecontent; foreach (keys %ENV) { if ($_=~/^form\.(\w+)$/) { my $spnam=$1; my $symbparm=$symb.'.'.$spnam; my $courselevelr=$ENV{'request.course.id'}.'.'.$symbparm; $storecontent{$courselevelr}=$ENV{'form.'.$spnam};; } } my $reply=&Apache::lonnet::cput ('resourcedata',\%storecontent, $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, $ENV{'course.'.$ENV{'request.course.id'}.'.num'}); } # ------------------------------------------------------------ Print the screen $r->print(< The LearningOnline Network with CAPA ENDDOCUMENT $r->print(&Apache::loncommon::bodytag('Simple Problem Editor')); if ($symb) { $r->print('

'.&Apache::lonnet::gettitle($symb).'

'); # # $r->print(&questiontext('What color?'). &foil(3,'green','bottom','Tomato', ('green'=>'green','red'=>'red')). &hint('This is the hint.')); # # } else { $r->print('Could not identify problem.'); } $r->print(''); return OK; } 1; __END__