Diff for /loncom/homework/structuretags.pm between versions 1.408 and 1.425

version 1.408, 2007/10/31 01:37:52 version 1.425, 2008/07/28 05:26:00
Line 94  sub end_tex { Line 94  sub end_tex {
   
 sub homework_js {  sub homework_js {
     return &Apache::loncommon::resize_textarea_js().      return &Apache::loncommon::resize_textarea_js().
              &setmode_javascript().
  <<'JS';   <<'JS';
 <script type="text/javascript">  <script type="text/javascript">
 function setSubmittedPart (part) {  function setSubmittedPart (part) {
Line 113  function image_response_click (which, e) Line 114  function image_response_click (which, e)
     input_element.value = click;      input_element.value = click;
     img_element.src = '/adm/randomlabel.png?token='+token+'&clickdata='+click;      img_element.src = '/adm/randomlabel.png?token='+token+'&clickdata='+click;
 }  }
   
 </script>  </script>
 JS  JS
 }  }
   
   sub setmode_javascript {
       return <<"ENDSCRIPT";
   <script type="text/javascript">
   function setmode(form,probmode) {
       form.problemmode.value = probmode;
       form.submit();
   }
   </script>
   ENDSCRIPT
   }
   
 sub page_start {  sub page_start {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$name,      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$name,
  $extra_head)=@_;   $extra_head)=@_;
Line 135  sub page_start { Line 148  sub page_start {
   
     $extra_head .= &homework_js();      $extra_head .= &homework_js();
   
       unless ($env{'environment.wysiwygeditor'} eq 'on') {
           $extra_head .= &Apache::lonhtmlcommon::dragmath_js();
       }
   
     my %body_args;      my %body_args;
     if (defined($found{'html'})) {      if (defined($found{'html'})) {
  $body_args{'skip_phases'}{'head'}=1;   $body_args{'skip_phases'}{'head'}=1;
Line 199  sub page_start { Line 216  sub page_start {
  }   }
     }      }
   
     if (!defined($found{'body'})) {      if (!defined($found{'body'}) && $env{'request.state'} ne 'construct') {
  $page_start .= &Apache::lonxml::message_location();   $page_start .= &Apache::lonxml::message_location();
     }      }
           
Line 299  sub remember_problem_state { Line 316  sub remember_problem_state {
        <input type="hidden" name="problemstatus" value="'.$env{'form.problemstatus'}.'" />';         <input type="hidden" name="problemstatus" value="'.$env{'form.problemstatus'}.'" />';
 }  }
   
   sub problem_edit_buttons {
      return  '
   <div class="LC_edit_problem_discards">
          <input type="button" name="submitmode" accesskey="d" value="'.&mt('Discard Edits and View').'" '.
          ' onclick="javscript:setmode(this.form,'."'discard'".')"  />
          <input '.&Apache::edit::submit_ask_anyway('setmode(this.form,'."'editxml'".')').' type="button" name="submitmode" accesskey="x" value="'.&mt('EditXML').'" />
          <input type="submit" name="Undo" accesskey="u" value="'.&mt('undo').'" />
   </div>
   <div class="LC_edit_problem_saves">
          <input type="submit" name="submitbutton" accesskey="s" value="'.&mt('Save and Edit').'" />
          <input type="submit" name="submitbutton" accesskey="v" value="'.&mt('Save and View').'" />
   </div>';
   }
   
 sub problem_edit_header {  sub problem_edit_header {
     return '<input type="hidden" name="submitted" value="edit" />'.      return '<input type="hidden" name="submitted" value="edit" /><input type="hidden" name="problemmode" value="edit" />'.
  &Apache::structuretags::remember_problem_state().'   &Apache::structuretags::remember_problem_state().'
 <div class="LC_edit_problem_header">  <div class="LC_edit_problem_header">
 <div class="LC_edit_problem_header_title">  <div class="LC_edit_problem_header_title">
 '.&mt('Problem Editing').&Apache::loncommon::help_open_menu('Problem Editing','Problem_Editor_XML_Index',5,'Authoring').'  '.&mt('Problem Editing').&Apache::loncommon::help_open_menu('Problem Editing','Problem_Editor_XML_Index',5,'Authoring').'
 </div>  </div>'.
 <div class="LC_edit_problem_discards">  &problem_edit_buttons().'
        <input type="hidden" name="problemmode" value="'.&mt('Edit').'" />  
        <input type="submit" name="problemmode" accesskey="d" value="'.&mt('Discard Edits and View').'" />  
        <input '.&Apache::edit::submit_ask_anyway().' type="submit" name="problemmode" accesskey="x" value="'.&mt('EditXML').'" />  
        <input type="submit" name="Undo" accesskey="u" value="'.&mt('undo').'" />  
 </div>  
 <div class="LC_edit_problem_saves">  
        <input type="submit" name="submit" accesskey="s" value="'.&mt('Save and Edit').'" />  
        <input type="submit" name="submit" accesskey="v" value="'.&mt('Save and View').'" />  
   </div>  
 <hr class="LC_edit_problem_divide" />  <hr class="LC_edit_problem_divide" />
   '.&Apache::lonxml::message_location().'
 </div>  </div>
 '.  '.
        '<table border="0" width="100%"><tr><td bgcolor="#DDDDDD">';         '<table border="0" width="100%"><tr><td bgcolor="#DDDDDD">';
 }  }
   
 sub problem_edit_footer {  sub problem_edit_footer {
     return '</td></tr></table><br /><input type="submit" name="submit" value="'.&mt('Submit Changes and Edit').'" />      return '</td></tr></table><br />
     <input type="submit" name="submit" value="'.&mt('Submit Changes and View').'" />'.  <div class="LC_edit_problem_footer">
     <hr class="LC_edit_problem_divide" />'.
   &problem_edit_buttons().'
     <hr class="LC_edit_problem_divide" />
   </div>
   '.
   
     &Apache::lonhtmlcommon::htmlareaselectactive(&Apache::lonhtmlcommon::get_htmlareafields()).      &Apache::lonhtmlcommon::htmlareaselectactive(&Apache::lonhtmlcommon::get_htmlareafields()).
     "\n</form>\n".&Apache::loncommon::end_page();      "\n</form>\n".&Apache::loncommon::end_page();
 }  }
Line 421  $show_all Line 450  $show_all
 $show_all  $show_all
 ";  ";
     }      }
   
     $result.='      $result.='
        <span class="LC_nobreak">         <span class="LC_nobreak">
        '.&mt('Apply style file: ').'         '.&mt('Apply style file: ').'
Line 429  $show_all Line 457  $show_all
          <a href="javascript:openbrowser(\'lonhomework\',\'style_file\',\'sty\')">'.&mt('Select').'</a>           <a href="javascript:openbrowser(\'lonhomework\',\'style_file\',\'sty\')">'.&mt('Select').'</a>
        </span>         </span>
      </div>       </div>
        <div class="LC_edit_problem_header_row1">'.
          &Apache::lonxml::renderingoptions().'
        </div>
      <input type="submit" name="changeproblemmode" value="'.&mt("Change View").'" />       <input type="submit" name="changeproblemmode" value="'.&mt("Change View").'" />
      <input type="submit" name="clear_style_file" accesskey="d" value="'.&mt('Show Default View').'" />       <input type="submit" name="clear_style_file" accesskey="d" value="'.&mt('Show Default View').'" />
      <input type="submit" name="resetdata" accesskey="r" value="'.&mt('Reset Submissions').'" />       <input type="submit" name="resetdata" accesskey="r" value="'.&mt('Reset Submissions').'" />
Line 446  $show_all Line 477  $show_all
  if (!$numtoanalyze) { $numtoanalyze=20; }   if (!$numtoanalyze) { $numtoanalyze=20; }
  $result .= '<span class="LC_nobreak">'.   $result .= '<span class="LC_nobreak">'.
     &mt('[_1] for [_2] versions.',      &mt('[_1] for [_2] versions.',
  '<input type="submit" name="problemmode" value='.&mt('"Calculate answers').'" />',   '<input type="button" name="submitmode" value="'.&mt('Calculate answers').'" '.
  '<input type="text" name="numtoanalyze" value="'.                  'onclick="javascript:setmode(this.form,'."'calcanswers'".')" />'
                  ,'<input type="text" name="numtoanalyze" value="'.
  $numtoanalyze.'" size="5" />').   $numtoanalyze.'" size="5" />').
  &Apache::loncommon::help_open_topic("Analyze_Problem",'',undef,undef,300).   &Apache::loncommon::help_open_topic("Analyze_Problem",'',undef,undef,300).
  '</span>';   '</span>';
Line 457  $show_all Line 489  $show_all
     $result.='      $result.='
    </div>     </div>
    <div class="LC_edit_problem_header_edit_row">';     <div class="LC_edit_problem_header_edit_row">';
     $result.='<input type="hidden" name="problemmode" value="'.&mt('View').'" />';      $result.='<input type="hidden" name="problemmode" value="view" />';
     $result .= '<input type="submit" name="problemmode" accesskey="e" value="'.&mt('Edit').'" />';      $result .= '<input type="button" name="submitmode" accesskey="e" value="'.&mt('Edit').'" '.
     $result .= '<input type="submit" name="problemmode" accesskey="x" value="'.&mt('EditXML').'" />';                 'onclick="javascript:setmode(this.form,'."'edit'".')" />';
       $result .= '<input type="button" name="submitmode" accesskey="x" value="'.&mt('EditXML').'" '.
                  'onclick="javascript:setmode(this.form,'."'editxml'".')" />';
     $result.='      $result.='
    </div>     </div>
      '.&Apache::lonxml::message_location().'
 </div>';  </div>';
     return $result;      return $result;
 }  }
Line 605  ENDCHECKOUT Line 639  ENDCHECKOUT
   
 sub firstaccess_msg {  sub firstaccess_msg {
     my ($time,$symb)=@_;      my ($time,$symb)=@_;
     my ($map)=&Apache::lonnet::decode_symb($symb);      my $result;
     my $foldertitle=&Apache::lonnet::gettitle($map);      my @interval=&Apache::lonnet::EXT("resource.0.interval");
     &Apache::lonxml::debug("map is $map title is $foldertitle");      if ($interval[1] eq 'map') {
    my ($map)=&Apache::lonnet::decode_symb($symb);
    my $foldertitle=&Apache::lonnet::gettitle($map);
       
    &Apache::lonxml::debug("map is $map title is $foldertitle");
    $result .= "<h2>".&mt('The resources in "[_1]" are open for a limited time.'
                                .' Once you click the "Show Resource" button below you have [_2] to complete all resources "[_1]".'
                                ,$foldertitle,$time)."</h2>";
       } elsif ($interval[1] eq 'course') {
    my $course = $env{'course.'.$env{'request.course.id'}.'.description'};
           $result .= "<h2>".&mt('The resources in "[_1]" are open for a limited time.'
                                .' Once you click the "Show Resource" button below you have [_2] to complete all resources "[_1]".'
                                ,$course,$time)."</h2>";
       } else {
    my $title=&Apache::lonnet::gettitle($symb);
           $result .= "<h2>".&mt('This resource "[_1]" is open for a limited time.'
                                .' Once you click the "Show Resource" button below you have [_2] to complete this resource "[_1]".'
                                ,$title,$time)."</h2>";
       }
     my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'});      my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'});
     return (<<ENDCHECKOUT);      my $buttontext = &mt('Show Resource');
 <h2>The resources in "$foldertitle" are open for a limited time. Once you click the 'Show Resource' button below you have $time to complete all resources "$foldertitle".</h2>      my $timertext = &mt('Start Timer?');
       $result .= (<<ENDCHECKOUT);
 <form name="markaccess" method="POST" action="$uri">  <form name="markaccess" method="POST" action="$uri">
 <input type="hidden" name="markaccess" value="yes" />  <input type="hidden" name="markaccess" value="yes" />
 <input type="button" name="accessbutton" value="Show Resource" onClick="javascript:if (confirm('Start Timer?')) { document.markaccess.submit(); }" />  <input type="button" name="accessbutton" value="$buttontext" onClick="javascript:if (confirm('$timertext')) { document.markaccess.submit(); }" />
 </form>  </form>
 ENDCHECKOUT  ENDCHECKOUT
       return $result;
 }  }
   
 sub init_problem_globals {  sub init_problem_globals {
Line 720  sub start_problem { Line 774  sub start_problem {
     }      }
   
     if ($target ne 'analyze') {      if ($target ne 'analyze') {
  $Apache::lonhomework::type=&Apache::lonnet::EXT('resource.0.type');          my $type = &Apache::lonnet::EXT('resource.0.type');
    $Apache::lonhomework::type=$type;
  if (($env{'request.state'} eq 'construct') &&   if (($env{'request.state'} eq 'construct') &&
     defined($env{'form.problemtype'})) {      $env{'form.problemtype'} =~ /\S/) {
     $Apache::lonhomework::type=$env{'form.problemtype'};      $Apache::lonhomework::type=$env{'form.problemtype'};
  }   }
  &Apache::lonxml::debug("Found this to be of type :$Apache::lonhomework::type:");   &Apache::lonxml::debug("Found this to be of type :$Apache::lonhomework::type:");
Line 783  sub start_problem { Line 838  sub start_problem {
     $result.=&Apache::lonxml::printtokenheader($target,$token);      $result.=&Apache::lonxml::printtokenheader($target,$token);
  }   }
  if ($env{'form.markaccess'}) {   if ($env{'form.markaccess'}) {
     &Apache::lonnet::set_first_access('map');      my @interval=&Apache::lonnet::EXT("resource.0.interval");
       &Apache::lonnet::set_first_access($interval[1]);
  }   }
  #handle rand seed in construction space   #handle rand seed in construction space
  my $rndseed=&setup_rndseed($safeeval);   my $rndseed=&setup_rndseed($safeeval);
Line 808  sub start_problem { Line 864  sub start_problem {
  $form_tag_start.= ' />'.&mt('&nbsp;Show&nbsp;All&nbsp;Foils').   $form_tag_start.= ' />'.&mt('&nbsp;Show&nbsp;All&nbsp;Foils').
     '</label>';      '</label>';
     }      }
               if ($Apache::lonhomework::type eq 'practice') {
                  $form_tag_start.='<span class="LC_info"><h3>'.&mt('Practice Problem').'</h3></span>'.
                                   '<span class="LC_info">'.&mt('Submissions are not permanently recorded').'</span>';
               }
     $form_tag_start.='<hr />';      $form_tag_start.='<hr />';
  }   }
   
Line 1814  sub end_startouttext { Line 1874  sub end_startouttext {
     my $text='';      my $text='';
   
     if ($target eq 'edit') {      if ($target eq 'edit') {
    my $areaid = 'homework_edit_'.$Apache::lonxml::curdepth;
  $text=&Apache::lonxml::get_all_text("endouttext",$parser,$style);   $text=&Apache::lonxml::get_all_text("endouttext",$parser,$style);
  $result.=&Apache::edit::start_table($token)."<tr><td>".&mt('Text Block')."</td>   $result.=&Apache::edit::start_table($token)."<tr><td>".&mt('Text Block')."</td>
 <td>".&mt('Delete:').  <td>".&mt('Delete:').
Line 1821  sub end_startouttext { Line 1882  sub end_startouttext {
  ."</td>   ."</td>
 <td>".  <td>".
                  &Apache::edit::insertlist($target,$token).                   &Apache::edit::insertlist($target,$token).
  '</td><td align="right" valign="top">' .   '</td>';
           unless ($env{'environment.wysiwygeditor'} eq 'on') {
               $result.='<td align="left">'
                        .&Apache::lonhtmlcommon::dragmath_button($areaid,1)
                        .'</td>';
           }
    $result.='<td align="right" valign="top">' .
  &Apache::loncommon::helpLatexCheatsheet().   &Apache::loncommon::helpLatexCheatsheet().
  &Apache::edit::end_row().   &Apache::edit::end_row().
                  &Apache::edit::start_spanning_row()."\n".                   &Apache::edit::start_spanning_row()."\n".

Removed from v.1.408  
changed lines
  Added in v.1.425


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