Diff for /loncom/homework/edit.pm between versions 1.41 and 1.48

version 1.41, 2002/11/11 22:37:23 version 1.48, 2003/05/04 22:14:53
Line 159  sub handle_delete { Line 159  sub handle_delete {
   }    }
   if (!$result) {    if (!$result) {
     my $endtag='/'.$token->[1];      my $endtag='/'.$token->[1];
     my $bodytext=&Apache::lonxml::get_all_text($endtag,$$parser[$#$parser]);      my $bodytext=&Apache::lonxml::get_all_text($endtag,$parser);
     $$parser['-1']->get_token();      $$parser['-1']->get_token();
     &Apache::lonxml::debug("Deleting :$bodytext: for $token->[1]");      &Apache::lonxml::debug("Deleting :$bodytext: for $token->[1]");
     &Apache::lonxml::end_tag($tagstack,$parstack,$token);      &Apache::lonxml::end_tag($tagstack,$parstack,$token);
Line 327  sub insert_radiobuttonresponse { Line 327  sub insert_radiobuttonresponse {
 </radiobuttonresponse>';  </radiobuttonresponse>';
 }  }
   
   sub insert_rankresponse {
     return '
   <rankresponse max="10">
       <foilgroup options="">
       </foilgroup>
       <hintgroup>
       </hintgroup>
   </rankresponse>';
   }
   
   sub insert_matchresponse {
     return '
   <matchresponse max="10">
       <foilgroup options="">
         <itemgroup>
         </itemgroup>
       </foilgroup>
       <hintgroup>
       </hintgroup>
   </matchresponse>';
   }
   
 sub insert_displayduedate { return '<displayduedate />'; }  sub insert_displayduedate { return '<displayduedate />'; }
 sub insert_displaytitle   { return '<displaytitle />'; }  sub insert_displaytitle   { return '<displaytitle />'; }
 sub insert_hintpart {  sub insert_hintpart {
Line 343  sub insert_numericalhint { Line 365  sub insert_numericalhint {
 </numericalhint>';  </numericalhint>';
 }  }
   
   sub insert_stringhint {
     return '
   <stringhint>
   </stringhint>';
   }
   
   sub insert_formulahint {
     return '
   <formulahint>
   </formulahint>';
   }
   
 sub insert_radiobuttonhint {  sub insert_radiobuttonhint {
   return '    return '
 <radiobuttonhint>  <radiobuttonhint>
Line 414  sub get_new_args { Line 448  sub get_new_args {
   foreach my $arg (@args) {    foreach my $arg (@args) {
     #just want the string that it was set to      #just want the string that it was set to
     my $value=$token->[2]->{$arg};      my $value=$token->[2]->{$arg};
     my $newvalue=$ENV{"form.$Apache::lonxml::curdepth.$arg"};      my $element=&html_element_name($arg);
       my $newvalue=$ENV{"form.$element"};
     &Apache::lonxml::debug(" for:$arg: cur is :$value: new is :$newvalue:");      &Apache::lonxml::debug(" for:$arg: cur is :$value: new is :$newvalue:");
     if ($value ne $newvalue) {      if ($value ne $newvalue) {
       $token->[2]->{$arg}=$newvalue;        $token->[2]->{$arg}=$newvalue;
Line 447  sub rebuild_tag { Line 482  sub rebuild_tag {
   return $result;    return $result;
 }  }
   
   sub html_element_name {
       my ($name) = @_;
       return $name.'_'.$Apache::lonxml::curdepth;
   }
   
   sub hidden_arg {
       my ($name,$token) = @_;
       my $result;
       my $arg=$token->[2]{$name};
       $result='<input name="'.&html_element_name($name).
    '" type="hidden" value="'.$arg.'" />';
       return $result;
   }
   
 sub text_arg {  sub text_arg {
   my ($description,$name,$token,$size) = @_;    my ($description,$name,$token,$size) = @_;
   my $result;    my $result;
   if (!defined $size) { $size=20; }    if (!defined $size) { $size=20; }
   my $arg=$token->[2]{$name};    my $arg=$token->[2]{$name};
   $result=$description.'<input name="'."$Apache::lonxml::curdepth.$name".    $result=$description.'&nbsp;<input name="'.&html_element_name($name).
     '" type="text" value="'.$arg.'" size="'.$size.'" />';      '" type="text" value="'.$arg.'" size="'.$size.'" />';
   return $result;    return $result;
 }  }
Line 476  sub select_arg { Line 525  sub select_arg {
     $optionlist.="<option $value >$option</option>\n";      $optionlist.="<option $value >$option</option>\n";
  }   }
     }      }
     $result.=$description.'<select name="'.      $result.=$description.'&nbsp;<select name="'.&html_element_name($name).
  "$Apache::lonxml::curdepth.$name".'">          '">
        '.$optionlist.'         '.$optionlist.'
       </select>';        </select>';
     return $result;      return $result;
Line 506  sub select_or_text_arg { Line 555  sub select_or_text_arg {
     }      }
     $optionlist.="<option value=\"TYPEDINVALUE\">Type in value</option>\n";      $optionlist.="<option value=\"TYPEDINVALUE\">Type in value</option>\n";
     if (($found) || (!$selected)) {      if (($found) || (!$selected)) {
  $result.=$description.'<select name="'."$Apache::lonxml::curdepth.$name".'">   $result.=$description.'&nbsp;<select name="'.&html_element_name($name)
               .'">
        '.$optionlist.'         '.$optionlist.'
       </select>';        </select>';
     } else {      } else {
Line 518  sub select_or_text_arg { Line 568  sub select_or_text_arg {
 #----------------------------------------------------- browse  #----------------------------------------------------- browse
 sub browse {  sub browse {
     # insert a link to call up the filesystem browser (lonindexer)      # insert a link to call up the filesystem browser (lonindexer)
     $_ = shift;      my ($id, $mode) = @_;
     my $form    = 'lonhomework';      my $form    = 'lonhomework';
     my $element = &Apache::lonnet::escape("$Apache::lonxml::curdepth.$_");      my $element;
       if (! defined($mode) || $mode eq 'attribute') {
           $element = &Apache::lonnet::escape("$Apache::lonxml::curdepth.$id");
       } elsif ($mode eq 'textnode') {  # for data between <tag> ... </tag>
           $element = &Apache::lonnet::escape('homework_edit_'.
                                              $Apache::lonxml::curdepth);
       }
     my $result = <<"ENDBUTTON";      my $result = <<"ENDBUTTON";
 <a href=\"javascript:openbrowser('$form','$element')\"\>Browse</a>  <a href=\"javascript:openbrowser('$form','$element')\"\>Browse</a>
 ENDBUTTON  ENDBUTTON

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


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