Diff for /modules/gci/londocsgci.pm between versions 1.6 and 1.9

version 1.6, 2009/12/21 15:51:29 version 1.9, 2010/01/05 23:54:31
Line 58  my @bins; Line 58  my @bins;
 my @optional;  my @optional;
 my %mandatory;  my %mandatory;
 my @development;  my @development;
 my %developmentitems;  
   
 sub setdefaults {  sub setdefaults {
    $path='/res/gci/gci';     $path='/res/gci/gci';
Line 116  sub setdefaults { Line 115  sub setdefaults {
         $revreqs{$prereqs{$item}} = $item;          $revreqs{$prereqs{$item}} = $item;
     }      }
     @defchosen=('01','02','03','07','12','18','26','32','37','38','47','54','63','66','2004_73');      @defchosen=('01','02','03','07','12','18','26','32','37','38','47','54','63','66','2004_73');
     @development = ('100','101','102');      @development = ('001','002','003','004','005','006','007','008','009','010','011','012','013','014');
     %developmentitems = ('100' => 1, '101' => '1', '102' => '1');  
 }  }
   
 sub checkvalid {  sub checkvalid {
Line 152  sub checkvalid { Line 150  sub checkvalid {
 }  }
   
 sub fullurl {  sub fullurl {
    my ($item)=@_;     my ($item,$catname)=@_;
    unless ($item=~/^\_/) { $item='_'.$item; }     unless ($item=~/\_/) { $item='_'.$item; }
      if ($catname eq 'development') {
          return $path.'/pilot/pilot'.$item.'.problem';
      }
    return $path.'/'.$version.'/GCI'.$item.'.problem';     return $path.'/'.$version.'/GCI'.$item.'.problem';
 }  }
   
 sub item_from_url {  sub item_from_url {
     my ($url)=@_;      my ($url)=@_;
     if ($url =~ m{\Q$path\E/\Q$version\E/GCI_([^.]+)\.problem$}) {      if ($url =~ m{\Q$path\E/\Q$version\E/GCI_?([^.]+)\.problem$}) {
         return $1;          return $1;
     }      }
 }  }
Line 181  sub validcheck { Line 182  sub validcheck {
 sub listresources {  sub listresources {
    my ($r,$context,$cdom,$cnum)=@_;     my ($r,$context,$cdom,$cnum)=@_;
    my $numchosen = scalar(@chosen);     my $numchosen = scalar(@chosen);
      my $multipart = 0;
      my $composites;
      if ($numchosen > 0) {
          foreach my $key (keys(%prereqs)) {
              if (grep(/^\Q$key\E/,@chosen)) {
                  $multipart ++;
                  $numchosen --;
              }
          }
          if ($multipart) {
              $composites = &mt(' (of which [quant,_1,is a combination question,are combination questions] in which students select both an answer, and the reasoning used).',$multipart).'<br />';
          } else {
              $composites = '.&nbsp;';
          }
      }
    unless ($numchosen > 0) {     unless ($numchosen > 0) {
       $r->print('<h3>'.&mt('Create a Concept Test').'</h3>'.        $r->print('<h3>'.&mt('Create a Concept Test').'</h3>'.
                 '<p>'.&mt('Choose how the test should be built:').'<br />'.                  '<p>'.&mt('Choose how the test should be built:').'<br />'.
Line 196  sub listresources { Line 212  sub listresources {
    } else {     } else {
       my $numsub = &get_submissions_count($cdom,$cnum);        my $numsub = &get_submissions_count($cdom,$cnum);
       unless ($env{'form.phase'} eq 'storemap') {        unless ($env{'form.phase'} eq 'storemap') {
           $r->print('<p>'.&mt('This course contains a valid concept test which includes [quant,_1,question].',$numchosen).'&nbsp;<a href="/adm/navmaps" target="_coursecontents">'.&mt('Display Contents').'</a><br />');            $r->print('<p>'.&mt('This course contains a valid concept test which includes [quant,_1,question]',$numchosen).$composites.'<a href="/adm/navmaps" target="_coursecontents">'.&mt('Display Contents').'</a><br />');
       }        }
       if ($numsub > 0) {        if ($numsub > 0) {
           $r->print(&mt('As there are existing student submissions, modification of the [_1]contents[_2] of the Concept Test will result in loss of student performance data, and is [_3]not[_4] permitted.','<i>','</i>','<b>','</b>').'<br />'.&mt('Modification of open and close dates [_1]is[_2] permitted.','<b>','</b>').'</p>');            $r->print(&mt('As there are existing student submissions, modification of the [_1]contents[_2] of the Concept Test will result in loss of student performance data, and is [_3]not[_4] permitted.','<i>','</i>','<b>','</b>').'<br />'.&mt('Modification of open and close dates [_1]is[_2] permitted.','<b>','</b>').'</p>');
Line 309  sub display_questions { Line 325  sub display_questions {
                '</th><th>'.&mt('Preview').'</th>'.                 '</th><th>'.&mt('Preview').'</th>'.
                &Apache::loncommon::end_data_table_header_row();                 &Apache::loncommon::end_data_table_header_row();
     foreach my $item (@{$questions}) {      foreach my $item (@{$questions}) {
         my $url = &fullurl($item);          my $url = &fullurl($item,$catname);
         my $title = &Apache::lonnet::metadata($url,'title');          my $title = &Apache::lonnet::metadata($url,'title');
         $output .= &Apache::loncommon::start_data_table_row().'<td>';          $output .= &Apache::loncommon::start_data_table_row().'<td>';
         if (($catname eq 'mandatory') || ($catname eq 'development')) {          if ($catname eq 'mandatory') {
             $output .= '<input type="hidden" name="item'.$item.'" value="checked" />';              $output .= '<input type="hidden" name="item'.$item.'" value="checked" />';
           } elsif ($catname eq 'development') {
               $output .= '<input type="hidden" name="pilot'.$item.'" value="checked" />';
         } else {          } else {
             $output .= '<input type="checkbox" name="item'.$item.'"';              $output .= '<input type="checkbox" name="item'.$item.'"';
             if ($chosenitems->{$item}) { $output .= ' checked="checked"'; }              if ($chosenitems->{$item}) { $output .= ' checked="checked"'; }
Line 402  sub chosen_to_map { Line 420  sub chosen_to_map {
    @LONCAPA::map::order=();     @LONCAPA::map::order=();
    @LONCAPA::map::resources=();     @LONCAPA::map::resources=();
    my $counter = 0;     my $counter = 0;
      my $residx;
    for (my $idx=0;$idx<=$#allprobs;$idx++) {     for (my $idx=0;$idx<=$#allprobs;$idx++) {
        my $residx=$idx+1;         $residx=$idx+1;
        if ($chosenproblems{$allprobs[$idx]}) {         if ($chosenproblems{$allprobs[$idx]}) {
           my $url  = &LONCAPA::map::qtunescape(&fullurl($allprobs[$idx]));            my $url  = &LONCAPA::map::qtunescape(&fullurl($allprobs[$idx]));
           if (($revreqs{$allprobs[$idx]}) &&             if (($revreqs{$allprobs[$idx]}) && 
               ($chosenproblems{$revreqs{$allprobs[$idx]}})) {                ($chosenproblems{$revreqs{$allprobs[$idx]}})) {
               my $probnum = $allprobs[$idx].'_'.$revreqs{$allprobs[$idx]};                my $probnum = '_'.$allprobs[$idx].'_'.$revreqs{$allprobs[$idx]};
               $url = &LONCAPA::map::qtunescape(&fullurl($probnum));                $url = &LONCAPA::map::qtunescape(&fullurl($probnum));
           } elsif ($prereqs{$allprobs[$idx]}) {            } elsif ($prereqs{$allprobs[$idx]}) {
               next;                next;
Line 419  sub chosen_to_map { Line 438  sub chosen_to_map {
   $LONCAPA::map::resources[$residx]=join(':', ($name, $url, 'false', 'normal', 'res'));    $LONCAPA::map::resources[$residx]=join(':', ($name, $url, 'false', 'normal', 'res'));
        }         }
     }      }
       foreach my $devitem (@development) {
           if ($env{'form.pilot'.$devitem}) {
               my $url = &LONCAPA::map::qtunescape(&fullurl($devitem,'development'));
               $residx ++;
               push(@LONCAPA::map::order,$residx);
               $counter ++;
               my $name = &LONCAPA::map::qtunescape('Problem '.$counter);
               $LONCAPA::map::resources[$residx]=join(':', ($name, $url, 'false', 'normal', 'res'));
           }
       }
 }  }
   
 sub map_to_chosen {  sub map_to_chosen {

Removed from v.1.6  
changed lines
  Added in v.1.9


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