Diff for /loncom/xml/lonxml.pm between versions 1.146 and 1.147

version 1.146, 2002/01/07 18:11:57 version 1.147, 2002/01/08 21:11:13
Line 1011  sub storefile { Line 1011  sub storefile {
     if (my $fh=Apache::File->new('>'.$file)) {      if (my $fh=Apache::File->new('>'.$file)) {
  print $fh $contents;   print $fh $contents;
         $fh->close();          $fh->close();
       } else {
         &warning("Unable to save file $file");
     }      }
 }  }
   
Line 1032  sub inserteditinfo { Line 1034  sub inserteditinfo {
 </html>  </html>
 SIMPLECONTENT  SIMPLECONTENT
       }        }
       my $editheader='<a href="#editsection">Edit below</a><hr />';  
         $filecontents =~ s:</textarea>:&lt;/textarea&gt;:g;
   #      my $editheader='<a href="#editsection">Edit below</a><hr />';
       my $editfooter=(<<ENDFOOTER);        my $editfooter=(<<ENDFOOTER);
 <hr />  <hr />
 <a name="editsection" />  <a name="editsection" />
 <form method="post">  <form method="post">
 <textarea cols="80" rows="40" name="filecont">$filecontents</textarea>  <textarea cols="80" rows="40" name="filecont">$filecontents</textarea>
 <br />  <br />
   <input type="hidden" name="showmode" value="Edit" />
 <input type="submit" name="attemptclean"   <input type="submit" name="attemptclean" 
        value="Save and then attempt to clean HTML" />         value="Save and then attempt to clean HTML" />
 <input type="submit" name="savethisfile" value="Save this" />  <input type="submit" name="savethisfile" value="Save this" />
   <input type="submit" name="showmode" value="View" />
 </form>  </form>
 ENDFOOTER  ENDFOOTER
       $result=~s/(\<body[^\>]*\>)/$1$editheader/is;  #      $result=~s/(\<body[^\>]*\>)/$1$editheader/is;
       $result=~s/(\<\/body\>)/$editfooter/is;        $result=~s/(\<\/body\>)/$editfooter/is;
       return $result;        return $result;
 }  }
   
   sub editbutton {
     my ($result) = @_;
     my $button=(<<EDITBUTTON);
   <form method="post">
   <input type="submit" name="showmode" value="Edit" />
   </form>
   EDITBUTTON
     $result=~s/(\<\/body\>)/$button/is;
     return $result;
   }
   
 sub handler {  sub handler {
   my $request=shift;    my $request=shift;
   
Line 1077  sub handler { Line 1094  sub handler {
       }        }
   }    }
   my %mystyle;    my %mystyle;
   my $result = '';     my $result = '';
   my $filecontents=&Apache::lonnet::getfile($file);    my $filecontents=&Apache::lonnet::getfile($file);
   if ($filecontents == -1) {    if ($filecontents == -1) {
     $result=(<<ENDNOTFOUND);      $result=(<<ENDNOTFOUND);
Line 1092  sub handler { Line 1109  sub handler {
 ENDNOTFOUND  ENDNOTFOUND
     $filecontents='';      $filecontents='';
   } else {    } else {
       unless ($ENV{'request.state'} eq 'published') {      unless ($ENV{'request.state'} eq 'published') {
          if ($ENV{'form.attemptclean'}) {        if ($ENV{'form.attemptclean'}) {
     $filecontents=&htmlclean($filecontents,1);   $filecontents=&htmlclean($filecontents,1);
          }  
       }        }
     $result = &Apache::lonxml::xmlparse($target,$filecontents,'',%mystyle);      }
       if ($ENV{'form.showmode'} ne 'Edit') {
         $result = &Apache::lonxml::xmlparse($target,$filecontents,'',%mystyle);
       }
   }    }
   
 #  #
 # Edit action? Insert editing commands  # Edit action? Insert editing commands
 #  #
   unless ($ENV{'request.state'} eq 'published') {    unless ($ENV{'request.state'} eq 'published') {
       if ($ENV{'form.showmode'} eq 'Edit') {
         $result='<html><body bgcolor="#FFFFFF"></body></html>';
       $result=&inserteditinfo($result,$filecontents);        $result=&inserteditinfo($result,$filecontents);
       } else {
         $result = &editbutton($result);
       }
   }    }
     
   writeallows($request->uri);    writeallows($request->uri);
   
   $request->print($result);    $request->print($result);
   
   return OK;    return OK;
 }  }
    
 sub debug {  sub debug {
   if ($Apache::lonxml::debug eq 1) {    if ($Apache::lonxml::debug eq 1) {
     $|=1;      $|=1;

Removed from v.1.146  
changed lines
  Added in v.1.147


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