--- rat/lonpage.pm 2016/10/29 05:49:28 1.120
+++ rat/lonpage.pm 2018/02/28 14:41:47 1.126
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Page Handler
#
-# $Id: lonpage.pm,v 1.120 2016/10/29 05:49:28 raeburn Exp $
+# $Id: lonpage.pm,v 1.126 2018/02/28 14:41:47 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -42,6 +42,7 @@ use Apache::lonlocal;
use Apache::lonmenu;
use Apache::lonhomework;
use Apache::lonparmset;
+use Apache::lonenc();
use HTML::TokeParser;
use GDBM_File;
use Apache::lonsequence;
@@ -185,6 +186,7 @@ sub handler {
my $fn=$env{'request.course.fn'};
if (-e "$fn.db") {
my %buttonshide;
+ my $hostname = $r->hostname();
if (tie(%hash,'GDBM_File',"$fn.db",&GDBM_READER(),0640)) {
# ------------------------------------------------------------------- Hash tied
my $firstres=$hash{'map_start_'.$requrl};
@@ -322,8 +324,8 @@ ENDEXT
}
} elsif ($cellemb{$_} eq 'ssi') {
# --------------------------------------------------------- This is an SSI cell
- my $prefix=$_.'_';
- my $idprefix= join('_',($mapid,$resid,''));
+ my $prefix='p_'.$_.'_';
+ my $idprefix= 'p_'.join('_',($mapid,$resid,''));
my %posthash=('request.prefix' => $prefix,
'LONCAPA_INTERNAL_no_discussion' => 'true',
'symb' => $symb);
@@ -442,6 +444,8 @@ ENDEXT
s/\<((?:input|select|button|textarea)[^\>]+)name\s*\=\s*[\'\"]*([^\'\"]+)[\'\"]*([^\>]*)\>/\<$1 name="$prefix$2" $3\>/gsi;
$output=~
s/\<((?:input|select|button|textarea)[^\>]+)id\s*\=\s*[\'\"]*([^\'\"]+)[\'\"]*([^\>]*)\>/\<$1 id="$idprefix$2" $3\>/gsi;
+ $output=~
+ s/(\Qthis.form.elements['\E)(HW(?:VAL|CHK)_[^']+\'\]\.(?:value=\'|checked))/$1$prefix$2/gsi;
if ($hastimer) {
$output=~
s/\<(input[^\>]+name=\Q"$prefix\Eaccessbutton"[^\>]+)(?:\Qdocument.markaccess.submit();\E)([^\>]*)\>/\<$1pageTimer(this.form,'$prefix')$2\>/gsi;
@@ -746,7 +750,7 @@ ENDEXT
my $avespan=$lcm/($#colcont+1);
for ($j=0;$j<=$#colcont;$j++) {
my $rid=$colcont[$j];
- my $metainfo =&get_buttons(\%hash,$rid,\%buttonshide).'
';
+ my $metainfo =&get_buttons(\%hash,$rid,\%buttonshide,$hostname).'
';
unless (($target eq 'tex') || ($target eq 'tex_answer')) {
$r->print('