version 1.146, 2002/01/07 18:11:57
|
version 1.148, 2002/01/09 09:50:59
|
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>:</textarea>:ig; |
|
# 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; |