--- loncom/xml/lonxml.pm 2002/11/06 23:05:02 1.212 +++ loncom/xml/lonxml.pm 2002/11/12 20:11:10 1.214 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # XML Parser Module # -# $Id: lonxml.pm,v 1.212 2002/11/06 23:05:02 albertel Exp $ +# $Id: lonxml.pm,v 1.214 2002/11/12 20:11:10 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -404,17 +404,20 @@ sub registerurl { if ($ENV{'request.filename'}=~/\.(problem|exam|quiz|assess|survey|form)$/) { if (&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) { $hwkadd.=(< (-2-$context) ) { $args=$$parstack[$context]; } - if ( ! $args ) { return undef; } - if ( $args =~ /my \$$param=\"/ ) { - return &Apache::run::run("{$args;".'return $'.$param.'}',$safeeval); #' - } else { - return undef; - } + my ($param,$parstack,$safeeval,$context,$case_insensitive) = @_; + if ( ! $context ) { $context = -1; } + my $args =''; + if ( $#$parstack > (-2-$context) ) { $args=$$parstack[$context]; } + if ( ! $args ) { return undef; } + if ( $case_insensitive ) { + if ($args =~ s/(my \$)(\Q$param\E)(=\")/$1.lc($2).$3/ei) { + return &Apache::run::run("{$args;".'return $'.$param.'}', + $safeeval); #' + } else { + return undef; + } + } else { + if ( $args =~ /my \$\Q$param\E=\"/ ) { + return &Apache::run::run("{$args;".'return $'.$param.'}', + $safeeval); #' + } else { + return undef; + } + } } sub get_param_var { - my ($param,$parstack,$safeeval,$context) = @_; + my ($param,$parstack,$safeeval,$context,$case_insensitive) = @_; if ( ! $context ) { $context = -1; } my $args =''; if ( $#$parstack > (-2-$context) ) { $args=$$parstack[$context]; } - if ( $args !~ /my \$$param=\"/ ) { return undef; } + if ($case_insensitive) { + if (! ($args=~s/(my \$)(\Q$param\E)(=\")/$1.lc($2).$3/ei)) { + return undef; + } + } elsif ( $args !~ /my \$\Q$param\E=\"/ ) { return undef; } my $value=&Apache::run::run("{$args;".'return $'.$param.'}',$safeeval); #' if ($value =~ /^[\$\@\%]/) { return &Apache::run::run("return $value",$safeeval,1);