--- loncom/imspackages/imsprocessor.pm 2006/04/15 16:44:56 1.40 +++ loncom/imspackages/imsprocessor.pm 2007/09/30 13:20:08 1.41 @@ -2834,6 +2834,12 @@ sub parse_webct4_questionDB { $$settings{$id}{texttype} = $attr->{texttype}; $currtexttype = $attr->{texttype}; } + if ("@state" eq "questestinterop section item presentation flow material matimage") { + $$settings{$id}{imagtype} = $attr->{imagtype}; + $currimagtype = $attr->{imagtype}; + $$settings{$id}{uri} = $attr->{uri}; + + } if ("@state" eq "questestinterop section item presentation flow response_lid") { $$settings{$id}{class} = 'multiplechoice'; $list = $attr->{ident}; @@ -3053,12 +3059,18 @@ sub parse_webct4_questionDB { } } if ("@state" eq "questestinterop section item resprocessing respcondition setvar") { - if ($setvar{varname} eq "answerValue") { # Multiple Choice + if ($setvar{varname} eq "answerValue") { # Multiple Choice WebCT4.0 if ($text =~ m/^\d+$/) { if ($text > 0) { push(@{$$settings{$id}{$list}{correctanswer}},$answer_id); } } + } elsif ($setvar{varname} eq "que_score") { # Multiple Choice WebCT4.1 + if ($text =~ m/^\d+$/) { + if ($text > 0) { + push(@{$$settings{$id}{$list}{correctanswer}},$answer_id); + } + } } } if ("@state" eq "questestinterop section item resprocessing itemproc_extension webct:x_webct_v01_autocalculate webct:x_webct_v01_anstolerance") { @@ -3197,7 +3209,7 @@ sub build_category_sequences { push @{$sequencesfiles},'question_database.sequence'; foreach my $category (sort keys %{$catinfo}) { my $seqname; - if ($cms eq 'webct4ce') { + if ($cms eq 'webctce4') { $seqname = $$catinfo{$category}{title}.'_'.$category; } else { $seqname = $$catinfo{$category}{title}; @@ -3286,12 +3298,12 @@ sub build_problem_container { $probtitle{$id} =~ s/:/_/g; $probtitle{$id} .= '_'.$id; } - if (($cms eq 'webct4ce' && $container ne 'database') || + if (($cms eq 'webctce4' && $container ne 'database') || ($cms eq 'webctvista4')) { my $probdir; my $catid = $$settings{$$allids[0]}{category}; if ($catid) { - if ($cms eq 'webct4ce') { + if ($cms eq 'webctce4') { $probdir = $$catinfo{$catid}{title}.'_'.$catid; } else { $probdir = $$catinfo{$catid}{title}; @@ -3325,7 +3337,7 @@ sub build_problem_container { my $probdir; my $catid = $$settings{$$allids[$j]}{category}; if ($catid) { - if ($cms eq 'webct4ce') { + if ($cms eq 'webctce4') { $probdir = $$catinfo{$catid}{title}.'_'.$catid; } else { $probdir = $$catinfo{$catid}{title}; @@ -3756,7 +3768,7 @@ sub write_webct4_questions { if ($$settings{$id}{class} eq 'numerical') { foreach my $numid (@{$$settings{$id}{numids}}) { foreach my $var (keys %{$$settings{$id}{$numid}{vars}}) { - if ($cms eq 'webct4ce') { + if ($cms eq 'webctce4') { $$settings{$id}{text} =~ s/{($var)}/\$$1 /g; } elsif ($cms eq 'webctvista4') { $$settings{$id}{text} =~ s/\[($var)\]/\$$1 /g; @@ -3782,8 +3794,9 @@ sub write_webct4_questions { } } $$total{prob} ++; + if (exists($$settings{$id}{uri})) { - if ($cms eq 'webct4ce') { + if ($cms eq 'webctce4') { if ($$settings{$id}{imagtype} =~ /^image\//) { $questionimage = '

'."\n"; } else { @@ -4092,7 +4105,7 @@ $$settings{$id}{$list}{jumbledtext}[$k] ($$settings{$id}{class} eq 'shortanswer')) { my $labelnum = 0; my @str_labels = (); - if ($cms eq 'webct4ce') { + if ($cms eq 'webctce4') { foreach my $str_id (@{$$settings{$id}{str}}) { foreach my $label (@{$$settings{$id}{$str_id}{labels}}) { push(@str_labels,$label); @@ -4252,7 +4265,7 @@ $$settings{$id}{$list}{jumbledtext}[$k] } $increment .= '1'; } - if ($cms eq 'webct4ce') { + if ($cms eq 'webctce4') { $formula =~ s/{($var)}/(\$$1)/g; } elsif ($cms eq 'webctvista4') { $formula =~ s/\[($var)\]/(\$$1)/g; @@ -4305,7 +4318,7 @@ $$settings{$id}{$list}{jumbledtext}[$k] my $probdir; my $catid = $$settings{$id}{category}; if ($catid) { - if ($cms eq 'webct4ce') { + if ($cms eq 'webctce4') { $probdir = $$catinfo{$catid}{title}.'_'.$catid; } else { $probdir = $$catinfo{$catid}{title};