version 1.9, 2003/11/08 02:56:09
|
version 1.14, 2005/03/17 13:56:32
|
Line 33 use Apache::Constants qw(:common :http);
|
Line 33 use Apache::Constants qw(:common :http);
|
use Apache::loncommon; |
use Apache::loncommon; |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::lonlocal; |
use Apache::lonlocal; |
|
use Apache::lonnavmaps; |
|
|
my %qparms; |
my %qparms; |
my $prefix; |
my $prefix; |
Line 50 sub evaloptionhash {
|
Line 51 sub evaloptionhash {
|
} |
} |
|
|
sub rawrendering { |
sub rawrendering { |
my ($request,$uri)=@_; |
my ($symb)=@_; |
my $problem=&Apache::lonnet::getfile |
my %data=('show_errors'=>'on', |
(&Apache::lonnet::filelocation('',$uri)); |
'simple_edit_button' => 'off', |
&Apache::lonnet::devalidatecourseresdata( |
'devalidatecourseresdata'=>'on'); |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}, |
return &Apache::loncommon::get_student_view($symb,time,time, |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}); |
$ENV{'request.course.id'}, |
my $uname=$ENV{'user.name'}; |
'web',\%data); |
my $udom=$ENV{'user.domain'}; |
|
$ENV{'user.name'}=time; |
|
$ENV{'user.domain'}=time; |
|
my $result = &Apache::lonxml::xmlparse($request,'web', $problem); |
|
undef($Apache::lonhomework::parsing_a_problem); |
|
$ENV{'user.name'}=$uname; |
|
$ENV{'user.domain'}=$udom; |
|
$result=~s/^.*\<body[^\>]*\>//si; |
|
$result=~s/\<\/body[^\>]*\>.*$//si; |
|
return $result; |
|
} |
} |
|
|
sub questiontext { |
sub questiontext { |
Line 75 sub questiontext {
|
Line 66 sub questiontext {
|
return (<<ENDQUESTION); |
return (<<ENDQUESTION); |
<table bgcolor="#dddd22" cellspacing="4" cellpadding="2"> |
<table bgcolor="#dddd22" cellspacing="4" cellpadding="2"> |
<tr><td><b>$qt</b><br /> |
<tr><td><b>$qt</b><br /> |
<textarea name="questiontext" cols="80" rows="8">$text</textarea> |
<textarea style="width:100%" name="questiontext" cols="80" rows="8">$text</textarea> |
</td></tr> |
</td></tr> |
</table> |
</table> |
<br /> |
<br /> |
Line 88 sub hint {
|
Line 79 sub hint {
|
return (<<ENDHINT); |
return (<<ENDHINT); |
<table bgcolor="#accacc" cellspacing="4" cellpadding="2"> |
<table bgcolor="#accacc" cellspacing="4" cellpadding="2"> |
<tr><td><b>$ht</b><br /> |
<tr><td><b>$ht</b><br /> |
<textarea name="hinttext" cols="80" rows="4">$text</textarea> |
<textarea style="width:100%" name="hinttext" cols="80" rows="4">$text</textarea> |
</td></tr> |
</td></tr> |
</table> |
</table> |
<br /> |
<br /> |
Line 128 sub foil {
|
Line 119 sub foil {
|
return (<<ENDFOIL); |
return (<<ENDFOIL); |
<table bgcolor="#dd55ff" cellspacing="4" cellpadding="2"> |
<table bgcolor="#dd55ff" cellspacing="4" cellpadding="2"> |
<tr><td colspan="2"><b>$lt{'foil'}</b></td></tr> |
<tr><td colspan="2"><b>$lt{'foil'}</b></td></tr> |
<tr><td>$lt{'value'}: $selectvalue</td><td>$lt{'position'}: $selectposition</td></tr> |
<tr><td>$lt{'value'}: $selectvalue</td><td>$lt{'pos'}: $selectposition</td></tr> |
<tr><td colspan="2">$lt{'text'}:<br /> |
<tr><td colspan="2">$lt{'text'}:<br /> |
<textarea name="text$number" cols="80" rows="4">$text</textarea> |
<textarea style="width:100%" name="text$number" cols="80" rows="4">$text</textarea> |
</td></tr> |
</td></tr> |
</table> |
</table> |
<br /> |
<br /> |
ENDFOIL |
ENDFOIL |
} |
} |
|
|
|
sub get_parent_uri { |
|
my ($cur_symb)=@_; |
|
my $navmap = Apache::lonnavmaps::navmap->new(); |
|
my $it = $navmap->getIterator(undef, undef, undef, 1); |
|
while ( my $res=$it->next()) { |
|
if (ref($res) && $res->symb() eq $cur_symb) { last; } |
|
} |
|
my ($src,$symb,$anchor)=&Apache::lonnavmaps::getLinkForResource($it->getStack()); |
|
if (defined($anchor)) { $anchor='#'.$anchor; } |
|
return $src.'?symb='.&Apache::lonnet::escape($symb).$anchor; |
|
} |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
|
|
Line 156 sub handler {
|
Line 159 sub handler {
|
# ----------------------------------------------------- Figure out where we are |
# ----------------------------------------------------- Figure out where we are |
my $uri=$r->uri; |
my $uri=$r->uri; |
$uri=~s/\/smpedit$//; |
$uri=~s/\/smpedit$//; |
my $symb=&Apache::lonnet::symbread($uri); |
my $symb=&Apache::lonnet::symbread(); |
|
|
# ------------------------------------------------ Prefix for everything stored |
# ------------------------------------------------ Prefix for everything stored |
$prefix=$ENV{'request.course.id'}.'.'.$symb.'.0.'; |
$prefix=$ENV{'request.course.id'}.'.'.$symb.'.0.'; |
Line 207 ENDDOCUMENT
|
Line 210 ENDDOCUMENT
|
$r->print(&Apache::loncommon::bodytag('Simple Problem Editor')); |
$r->print(&Apache::loncommon::bodytag('Simple Problem Editor')); |
if ($symb) { |
if ($symb) { |
$r->print('<h1>'.&Apache::lonnet::gettitle($symb).'</h1>'); |
$r->print('<h1>'.&Apache::lonnet::gettitle($symb).'</h1>'); |
|
$r->print('<table width="100%" bgcolor="#FFFFAA" border="2"><tr><td>'. |
|
'<a href="'.&get_parent_uri($symb).'">'.&mt('Student View').'</a> - '.&mt('Note: it can take up to 10 minutes for changes to take effect for all users.'). |
|
&Apache::loncommon::help_open_topic('Caching').'</td></tr></table>'); |
$r->print('<table border="2" bgcolor="#FFFFFF" width="100%"><tr><td>'. |
$r->print('<table border="2" bgcolor="#FFFFFF" width="100%"><tr><td>'. |
&rawrendering($r,$uri). |
&rawrendering($symb). |
'</td></tr></table><br />'); |
'</td></tr></table><br />'); |
$r->print('<form method="post">'); |
$r->print('<form method="post">'); |
# Question Type |
# Question Type |
Line 223 ENDDOCUMENT
|
Line 229 ENDDOCUMENT
|
$r->print('<b>'.&mt('Question Type'). |
$r->print('<b>'.&mt('Question Type'). |
': '.&Apache::loncommon::select_form |
': '.&Apache::loncommon::select_form |
($qtype,'questiontype',%questiontypes). |
($qtype,'questiontype',%questiontypes). |
'</b><br /><input type="submit" value="'.&mt('Store Changes'). |
'</b><br /><input type="submit" value="'.&mt('Save and Edit'). |
'" /><p> </p>'); |
'" /><p> </p>'); |
# Question Text |
# Question Text |
$r->print(&questiontext()); |
$r->print(&questiontext()); |
Line 295 ENDDOCUMENT
|
Line 301 ENDDOCUMENT
|
} |
} |
# Store Button |
# Store Button |
$r->print( |
$r->print( |
'<input type="submit" value="'.&mt('Store Changes').'" /></form>'); |
'<input type="submit" value="'.&mt('Save and Edit').'" /></form>'); |
} else { |
} else { |
$r->print(&mt('Could not identify problem.')); |
$r->print(&mt('Could not identify problem.')); |
} |
} |