Diff for /loncom/imspackages/imsprocessor.pm between versions 1.40 and 1.41

version 1.40, 2006/04/15 16:44:56 version 1.41, 2007/09/30 13:20:08
Line 2834  sub parse_webct4_questionDB { Line 2834  sub parse_webct4_questionDB {
             $$settings{$id}{texttype} = $attr->{texttype};              $$settings{$id}{texttype} = $attr->{texttype};
             $currtexttype = $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") {          if ("@state" eq "questestinterop section item presentation flow response_lid") {
             $$settings{$id}{class} = 'multiplechoice';              $$settings{$id}{class} = 'multiplechoice';
             $list = $attr->{ident};              $list = $attr->{ident};
Line 3053  sub parse_webct4_questionDB { Line 3059  sub parse_webct4_questionDB {
             }              }
         }          }
         if ("@state" eq "questestinterop section item resprocessing respcondition setvar") {          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 =~ m/^\d+$/) {
                     if ($text > 0) {                      if ($text > 0) {
                         push(@{$$settings{$id}{$list}{correctanswer}},$answer_id);                             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") {          if ("@state" eq "questestinterop section item resprocessing itemproc_extension webct:x_webct_v01_autocalculate webct:x_webct_v01_anstolerance") {
Line 3197  sub build_category_sequences { Line 3209  sub build_category_sequences {
     push @{$sequencesfiles},'question_database.sequence';      push @{$sequencesfiles},'question_database.sequence';
     foreach my $category (sort keys %{$catinfo}) {      foreach my $category (sort keys %{$catinfo}) {
         my $seqname;          my $seqname;
         if ($cms eq 'webct4ce') {           if ($cms eq 'webctce4') { 
             $seqname = $$catinfo{$category}{title}.'_'.$category;              $seqname = $$catinfo{$category}{title}.'_'.$category;
         } else {          } else {
             $seqname = $$catinfo{$category}{title};              $seqname = $$catinfo{$category}{title};
Line 3286  sub build_problem_container { Line 3298  sub build_problem_container {
             $probtitle{$id} =~ s/:/_/g;              $probtitle{$id} =~ s/:/_/g;
             $probtitle{$id} .= '_'.$id;              $probtitle{$id} .= '_'.$id;
         }          }
         if (($cms eq 'webct4ce' && $container ne 'database') ||          if (($cms eq 'webctce4' && $container ne 'database') ||
             ($cms eq 'webctvista4'))   {              ($cms eq 'webctvista4'))   {
             my $probdir;              my $probdir;
             my $catid = $$settings{$$allids[0]}{category};              my $catid = $$settings{$$allids[0]}{category};
             if ($catid) {              if ($catid) {
                 if ($cms eq 'webct4ce') {                   if ($cms eq 'webctce4') { 
                     $probdir = $$catinfo{$catid}{title}.'_'.$catid;                      $probdir = $$catinfo{$catid}{title}.'_'.$catid;
                 } else {                  } else {
                     $probdir = $$catinfo{$catid}{title};                      $probdir = $$catinfo{$catid}{title};
Line 3325  sub build_problem_container { Line 3337  sub build_problem_container {
                     my $probdir;                      my $probdir;
                     my $catid = $$settings{$$allids[$j]}{category};                      my $catid = $$settings{$$allids[$j]}{category};
                     if ($catid) {                      if ($catid) {
                         if ($cms eq 'webct4ce') {                          if ($cms eq 'webctce4') {
                             $probdir = $$catinfo{$catid}{title}.'_'.$catid;                              $probdir = $$catinfo{$catid}{title}.'_'.$catid;
                         } else {                          } else {
                             $probdir = $$catinfo{$catid}{title};                              $probdir = $$catinfo{$catid}{title};
Line 3756  sub write_webct4_questions { Line 3768  sub write_webct4_questions {
         if ($$settings{$id}{class} eq 'numerical') {          if ($$settings{$id}{class} eq 'numerical') {
             foreach my $numid (@{$$settings{$id}{numids}}) {              foreach my $numid (@{$$settings{$id}{numids}}) {
                 foreach my $var (keys %{$$settings{$id}{$numid}{vars}}) {                  foreach my $var (keys %{$$settings{$id}{$numid}{vars}}) {
                     if ($cms eq 'webct4ce') {                      if ($cms eq 'webctce4') {
                         $$settings{$id}{text} =~ s/{($var)}/\$$1 /g;                          $$settings{$id}{text} =~ s/{($var)}/\$$1 /g;
                     } elsif ($cms eq 'webctvista4') {                      } elsif ($cms eq 'webctvista4') {
                         $$settings{$id}{text} =~ s/\[($var)\]/\$$1 /g;                          $$settings{$id}{text} =~ s/\[($var)\]/\$$1 /g;
Line 3782  sub write_webct4_questions { Line 3794  sub write_webct4_questions {
             }              }
         }          }
         $$total{prob} ++;          $$total{prob} ++;
   
         if (exists($$settings{$id}{uri})) {          if (exists($$settings{$id}{uri})) {
             if ($cms eq 'webct4ce') {              if ($cms eq 'webctce4') {
                 if ($$settings{$id}{imagtype} =~ /^image\//) {                  if ($$settings{$id}{imagtype} =~ /^image\//) {
                     $questionimage = '<p><img src="../../resfiles/'.$$settings{$id}{uri}.'" /></p>'."\n";                      $questionimage = '<p><img src="../../resfiles/'.$$settings{$id}{uri}.'" /></p>'."\n";
                 } else {                  } else {
Line 4092  $$settings{$id}{$list}{jumbledtext}[$k] Line 4105  $$settings{$id}{$list}{jumbledtext}[$k]
                      ($$settings{$id}{class} eq 'shortanswer')) {                       ($$settings{$id}{class} eq 'shortanswer')) {
                 my $labelnum = 0;                  my $labelnum = 0;
                 my @str_labels = ();                  my @str_labels = ();
                 if ($cms eq 'webct4ce') {                  if ($cms eq 'webctce4') {
                     foreach my $str_id (@{$$settings{$id}{str}}) {                      foreach my $str_id (@{$$settings{$id}{str}}) {
                         foreach my $label (@{$$settings{$id}{$str_id}{labels}}) {                          foreach my $label (@{$$settings{$id}{$str_id}{labels}}) {
                             push(@str_labels,$label);                              push(@str_labels,$label);
Line 4252  $$settings{$id}{$list}{jumbledtext}[$k] Line 4265  $$settings{$id}{$list}{jumbledtext}[$k]
                             }                              }
                             $increment .= '1';                              $increment .= '1';
                         }                          }
                         if ($cms eq 'webct4ce') {                           if ($cms eq 'webctce4') { 
                             $formula =~ s/{($var)}/(\$$1)/g;                              $formula =~ s/{($var)}/(\$$1)/g;
                         } elsif ($cms eq 'webctvista4') {                          } elsif ($cms eq 'webctvista4') {
                             $formula =~ s/\[($var)\]/(\$$1)/g;                              $formula =~ s/\[($var)\]/(\$$1)/g;
Line 4305  $$settings{$id}{$list}{jumbledtext}[$k] Line 4318  $$settings{$id}{$list}{jumbledtext}[$k]
             my $probdir;              my $probdir;
             my $catid = $$settings{$id}{category};              my $catid = $$settings{$id}{category};
             if ($catid) {              if ($catid) {
                 if ($cms eq 'webct4ce') {                  if ($cms eq 'webctce4') {
                     $probdir = $$catinfo{$catid}{title}.'_'.$catid;                      $probdir = $$catinfo{$catid}{title}.'_'.$catid;
                 } else {                  } else {
                     $probdir = $$catinfo{$catid}{title};                      $probdir = $$catinfo{$catid}{title};

Removed from v.1.40  
changed lines
  Added in v.1.41


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>