Diff for /loncom/xml/lonxml.pm between versions 1.332.2.1 and 1.337

version 1.332.2.1, 2004/08/29 08:17:22 version 1.337, 2004/08/23 19:53:13
Line 165  sub xmlbegin { Line 165  sub xmlbegin {
 }  }
   
 sub xmlend {  sub xmlend {
       my ($target,$parser)=@_;
     my $mode='xml';      my $mode='xml';
     my $status='OPEN';      my $status='OPEN';
     if ($Apache::lonhomework::parsing_a_problem) {      if ($Apache::lonhomework::parsing_a_problem) {
  $mode='problem';   $mode='problem';
  $status=$Apache::inputtags::status[-1];    $status=$Apache::inputtags::status[-1]; 
     }      }
     return &Apache::lonfeedback::list_discussion($mode,$status).'</html>';      my $discussion=&Apache::lonfeedback::list_discussion($mode,$status);    
       if ($target eq 'tex') {
    $discussion.='<tex>\keephidden{ENDOFPROBLEM}\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}\end{document}</tex>';
    &Apache::lonxml::newparser($parser,\$discussion,'');
    return '';
       } else {
    return $discussion.'</html>';
       }
 }  }
   
 sub tokeninputfield {  sub tokeninputfield {
Line 312  sub xmlparse { Line 320  sub xmlparse {
      my $bodytext=       my $bodytext=
  $ENV{'course.'.$ENV{'request.course.id'}.'.default_xml_style'};   $ENV{'course.'.$ENV{'request.course.id'}.'.default_xml_style'};
      if ($bodytext) {       if ($bodytext) {
        my $location=&Apache::lonnet::filelocation('',$bodytext);   foreach my $file (split(',',$bodytext)) {
        my $styletext=&Apache::lonnet::getfile($location);       my $location=&Apache::lonnet::filelocation('',$file);
        if ($styletext ne '-1') {       my $styletext=&Apache::lonnet::getfile($location);
           %style_for_target = (%style_for_target,       if ($styletext ne '-1') {
                           &Apache::style::styleparser($target,$styletext));   %style_for_target = (%style_for_target,
        }        &Apache::style::styleparser($target,$styletext));
     }       }
    }
        }
  } elsif ($ENV{'construct.style'} && ($ENV{'request.state'} eq 'construct')) {   } elsif ($ENV{'construct.style'} && ($ENV{'request.state'} eq 'construct')) {
      my $location=&Apache::lonnet::filelocation('',$ENV{'construct.style'});       my $location=&Apache::lonnet::filelocation('',$ENV{'construct.style'});
      my $styletext=&Apache::lonnet::getfile($location);       my $styletext=&Apache::lonnet::getfile($location);
Line 1127  sub inserteditinfo { Line 1137  sub inserteditinfo {
       my $initialize='';        my $initialize='';
       if ($filetype eq 'html') {        if ($filetype eq 'html') {
   my $addbuttons=&Apache::lonhtmlcommon::htmlareaaddbuttons();    my $addbuttons=&Apache::lonhtmlcommon::htmlareaaddbuttons();
   $initialize=&Apache::lonhtmlcommon::htmlareaheaders().(<<FULLPAGE);    $initialize=&Apache::lonhtmlcommon::htmlareaheaders().
         &Apache::lonhtmlcommon::spellheader().(<<FULLPAGE);
 <script type="text/javascript">  <script type="text/javascript">
 $addbuttons  $addbuttons
   
Line 1157  $cleanbut Line 1168  $cleanbut
 <input type="submit" name="savethisfile" accesskey="s"  value="$lt{'st'}" />  <input type="submit" name="savethisfile" accesskey="s"  value="$lt{'st'}" />
 <input type="submit" name="viewmode" accesskey="v" value="$lt{'vi'}" />  <input type="submit" name="viewmode" accesskey="v" value="$lt{'vi'}" />
 BUTTONS  BUTTONS
       $buttons.=&Apache::lonhtmlcommon::htmlareaselectactive('filecont');        $buttons.=&Apache::lonhtmlcommon::spelllink('xmledit','filecont');
       my $editfooter=(<<ENDFOOTER);        my $editfooter=(<<ENDFOOTER);
 $initialize  $initialize
 <hr />  <hr />
 <a name="editsection" />  <a name="editsection" />
 <form method="post">  <form method="post" name="xmledit">
 $xml_help  $xml_help
 <input type="hidden" name="editmode" value="$lt{'ed'}" />  <input type="hidden" name="editmode" value="$lt{'ed'}" />
 $buttons<br />  $buttons<br />
Line 1331  sub debug { Line 1342  sub debug {
 }  }
   
 sub error {  sub error {
   $errorcount++;      $errorcount++;
   my $request=$Apache::lonxml::request;      if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) {
   if (!$request) { $request=Apache->request; }   # If printing in construction space, put the error inside <pre></pre>
   if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) {   push(@Apache::lonxml::error_messages,
     # If printing in construction space, put the error inside <pre></pre>       $Apache::lonxml::warnings_error_header.
       push(@Apache::lonxml::error_messages,       "<b>ERROR:</b>".join("<br />\n",@_)."<br />\n");
    $Apache::lonxml::warnings_error_header.   $Apache::lonxml::warnings_error_header='';
    "<b>ERROR:</b>".join("<br />\n",@_)."<br />\n");      } else {
       $Apache::lonxml::warnings_error_header='';   my $errormsg;
   } else {   my ($symb)=&Apache::lonnet::symbread();
       push(@Apache::lonxml::error_messages,   if ( !$symb ) {
    "<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />");      #public or browsers
     #notify author      $errormsg=&mt("An error occured while processing this resource. The author has been notified.");
     &Apache::lonmsg::author_res_msg($ENV{'request.filename'},join('<br />',@_));   } 
     #notify course   #notify author
     if ( $ENV{'request.course.id'} ) {   &Apache::lonmsg::author_res_msg($ENV{'request.filename'},join('<br />',@_));
       my (undef,%users)=&Apache::lonfeedback::decide_receiver(undef,0,1,1,1);   #notify course
       my $declutter=&Apache::lonnet::declutter($ENV{'request.filename'});   if ( $symb && $ENV{'request.course.id'} ) {
       foreach (keys %users) {      my (undef,%users)=&Apache::lonfeedback::decide_receiver(undef,0,1,1,1);
  my ($user,$domain) = split(/:/, $_);      my $declutter=&Apache::lonnet::declutter($ENV{'request.filename'});
  &Apache::lonmsg::user_normal_msg($user,$domain,      my @userlist;
         "Error [$declutter]",join('<br />',@_));      foreach (keys %users) {
       }   my ($user,$domain) = split(/:/, $_);
    push(@userlist,"$user\@$domain");
    &Apache::lonmsg::user_normal_msg($user,$domain,
    "Error [$declutter]",join('<br />',@_));
       }
       if ($ENV{'request.role.adv'}) {
    $errormsg=&mt("An error occured while processing this resource. The course personnel ([_1]) and the author have been notified.",join(', ',@userlist));
       } else {
    $errormsg=&mt("An error occured while processing this resource. The instructor has been notified.");
       }
    }
    push(@Apache::lonxml::error_messages,"<b>$errormsg</b> <br />");
     }      }
   }  
 }  }
   
 sub warning {  sub warning {

Removed from v.1.332.2.1  
changed lines
  Added in v.1.337


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