version 1.145, 2002/01/03 16:18:00
|
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) { |
print("DEBUG:".$_[0]."<br />\n"); |
$|=1; |
|
print("DEBUG:".join('<br />',@_)."<br />\n"); |
} |
} |
} |
} |
|
|
sub error { |
sub error { |
if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) { |
if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) { |
print "<b>ERROR:</b>".$_[0]."<br />\n"; |
print "<b>ERROR:</b>".join('<br />',@_)."<br />\n"; |
} else { |
} else { |
print "<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />"; |
print "<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />"; |
#notify author |
#notify author |
&Apache::lonmsg::author_res_msg($ENV{'request.filename'},$_[0]); |
&Apache::lonmsg::author_res_msg($ENV{'request.filename'},join('<br />',@_)); |
#notify course |
#notify course |
if ( $ENV{'request.course.id'} ) { |
if ( $ENV{'request.course.id'} ) { |
my $users=$ENV{'course.'.$ENV{'request.course.id'}.'.comment.email'}; |
my $users=$ENV{'course.'.$ENV{'request.course.id'}.'.comment.email'}; |
Line 1134 sub error {
|
Line 1159 sub error {
|
foreach my $user (split /\,/, $users) { |
foreach my $user (split /\,/, $users) { |
($user,my $domain) = split /:/, $user; |
($user,my $domain) = split /:/, $user; |
&Apache::lonmsg::user_normal_msg($user,$domain, |
&Apache::lonmsg::user_normal_msg($user,$domain, |
"Error [$declutter]",$_[0]); |
"Error [$declutter]",join('<br />',@_)); |
} |
} |
} |
} |
|
|
#FIXME probably shouldn't have me get everything forever. |
#FIXME probably shouldn't have me get everything forever. |
&Apache::lonmsg::user_normal_msg('albertel','msu',"Error in $ENV{'request.filename'}",$_[0]); |
&Apache::lonmsg::user_normal_msg('albertel','msu',"Error in $ENV{'request.filename'}",join('<br />',@_)); |
#&Apache::lonmsg::user_normal_msg('albertel','103',"Error in $ENV{'request.filename'}",$_[0]); |
#&Apache::lonmsg::user_normal_msg('albertel','103',"Error in $ENV{'request.filename'}",$_[0]); |
} |
} |
} |
} |
|
|
sub warning { |
sub warning { |
if ($ENV{'request.state'} eq 'construct') { |
if ($ENV{'request.state'} eq 'construct') { |
print "<b>W</b>ARNING<b>:</b>".$_[0]."<br />\n"; |
print "<b>W</b>ARNING<b>:</b>".join('<br />',@_)."<br />\n"; |
} |
} |
} |
} |
|
|