Annotation of loncom/homework/response.pm, revision 1.7

1.1       albertel    1: # The LearningOnline Network with CAPA
                      2: # various response type definitons response definition
                      3: 
1.7     ! www         4: # 11/23,11/24,11/28 Gerd Kortemeyer
1.5       www         5: 
1.1       albertel    6: package Apache::response;
                      7: use strict;
                      8: 
                      9: sub BEGIN {
1.3       albertel   10:   &Apache::lonxml::register('Apache::response',('responseparam','caparesponse'));
1.1       albertel   11: }
                     12: 
1.7     ! www        13: sub meta_parameter_write {
        !            14:     my ($partid,$name,$type,$default,$display)=@_;
        !            15:     return '<parameter part="'.$partid.
        !            16: 	            '" name="'.$name.
        !            17:                     '" type="'.$type.
        !            18:                  '" default="'.$default.
        !            19: 	         '" display="'.$display.' [Part: '.$partid.']"></parameter>'
        !            20:      ."\n";
        !            21: }
        !            22: 
        !            23: sub meta_stores_write {
        !            24:     my ($partid,$name,$type,$display)=@_;
        !            25:     return '<stores part="'.$partid.
        !            26: 	         '" name="'.$name.
        !            27:                  '" type="'.$type.
        !            28: 	      '" display="'.$display.' [Part: '.$partid.']"></stores>'
        !            29:      ."\n";
        !            30: }
        !            31: 
        !            32: sub mandatory_part_meta {
        !            33:     my $partid=shift;
        !            34: #
        !            35: # Autogenerate metadata for mandatory
        !            36: # input (from RAT or lonparmset) and 
        !            37: # output (to lonspreadsheet)
        !            38: # of each part
        !            39: #
        !            40:  return
        !            41:     &meta_parameter_write($partid,'opendate','date_start','',
        !            42:                           'Opening Date').
        !            43:     &meta_parameter_write($partid,'duedate','date_end','',
        !            44:                           'Due Date').
        !            45:     &meta_parameter_write($partid,'answerdate','date_start','',
        !            46:                           'Show Answer Date').
        !            47:     &meta_parameter_write($partid,'weight','int_zeropos','',
        !            48:                           'Available Points').
        !            49:     &meta_parameter_write($partid,'maxtries','int_pos','',
        !            50:                           'Maximum Number of Tries').
        !            51: 
        !            52:     &meta_stores_write($partid,'solved','string',
        !            53:                           'Problem Status').
        !            54:     &meta_stores_write($partid,'tries','int_zeropos',
        !            55:                           'Number of Unsuccessful Tries').
        !            56:     &meta_stores_write($partid,'awarded','float',
        !            57: 		          'Partial Credit Factor');
        !            58: #
        !            59: # Note: responseid-specific data 'submission' and 'awarddetail'
        !            60: # not available to spreadsheet -> skip here
        !            61: #
        !            62: }
        !            63: 
1.1       albertel   64: sub start_caparesponse {
                     65:   require Apache::caparesponse; 
                     66:   import Apache::caparesponse; 
                     67:   my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
1.2       albertel   68: #  print "\n<br>\nsimple caparesponse\n";
1.1       albertel   69:   Apache::caparesponse::start_caparesponse($target,$token,$parstack,$parser,$safeeval,$style);;
1.2       albertel   70:   return "";
1.3       albertel   71: }
                     72: 
                     73: sub start_responseparam {
                     74:   my ($target,$token,$parstack,$parser,$safeeval)=@_;
1.5       www        75:  if ($target ne 'meta') {
1.3       albertel   76:   my $args='';
                     77:   if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
                     78:   my $default = &Apache::run::run("{$args;".'return $default}',$safeeval);
1.4       albertel   79:   my $name = &Apache::run::run("{$args;".'return $name}',$safeeval);
                     80:   &Apache::lonxml::debug("looking for resource.$Apache::inputtags::part['-1'].$name");
                     81:   my $value = &Apache::lonnet::EXT("resource.$Apache::inputtags::part['-1'].$name");
                     82:   &Apache::lonxml::debug("$name has value :$value: and default :$default:");
1.3       albertel   83:   if (!$value) {
1.4       albertel   84:     $Apache::inputtags::params{$name}=$default;
1.3       albertel   85:   } else {
1.4       albertel   86:     $Apache::inputtags::params{$name}=$value;
1.3       albertel   87:   }
                     88:   return '';
1.5       www        89: } else {
1.7     ! www        90:     return &meta_parameter_write(
        !            91:       $Apache::inputtags::part['-1'],
        !            92: 	$token->[2]->{'name'},
        !            93:         $token->[2]->{'type'},
        !            94: 	$token->[2]->{'default'},
        !            95:         $token->[2]->{'description'});
1.5       www        96: }
1.3       albertel   97: }
                     98: 
                     99: sub end_responseparam {
1.1       albertel  100: }
1.2       albertel  101: 
1.1       albertel  102: 1;
                    103: __END__
                    104:  

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