version 1.48, 2001/07/02 15:02:44
|
version 1.53, 2001/08/17 14:24:29
|
Line 84 sub send_footer {
|
Line 84 sub send_footer {
|
} |
} |
|
|
$Apache::lonxml::browse=''; |
$Apache::lonxml::browse=''; |
sub check_date { |
|
|
sub check_access { |
my ($id) = @_; |
my ($id) = @_; |
my $date =''; |
my $date =''; |
my $status = ''; |
my $status = ''; |
Line 269 sub renderpage {
|
Line 270 sub renderpage {
|
# with no arg it returns a HTML <option> list of the template titles |
# with no arg it returns a HTML <option> list of the template titles |
# with one arg it returns the filename associated with the arg passed |
# with one arg it returns the filename associated with the arg passed |
sub get_template_list { |
sub get_template_list { |
my ($namewanted) = @_; |
my ($namewanted,$extension) = @_; |
my $result; |
my $result; |
foreach my $file (</home/httpd/html/res/adm/includes/templates/*.problem>) { |
&Apache::lonxml::debug("Looking for :$extension:"); |
|
foreach my $file (</home/httpd/html/res/adm/includes/templates/*.$extension>) { |
my $name=&Apache::lonnet::metadata($file,'title'); |
my $name=&Apache::lonnet::metadata($file,'title'); |
if ($namewanted && ($name eq $namewanted)) { |
if ($namewanted && ($name eq $namewanted)) { |
$result=$file; |
$result=$file; |
Line 286 sub get_template_list {
|
Line 288 sub get_template_list {
|
sub newproblem { |
sub newproblem { |
my ($request) = @_; |
my ($request) = @_; |
|
|
|
my $extension=$request->uri; |
|
$extension=~s:^.*\.([\w]+)$:$1:; |
|
&Apache::lonxml::debug("Looking for :$extension:"); |
if ($ENV{'form.template'}) { |
if ($ENV{'form.template'}) { |
use File::Copy; |
use File::Copy; |
my $file = &get_template_list($ENV{'form.template'}); |
my $file = &get_template_list($ENV{'form.template'},$extension); |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
copy($file,$dest); |
copy($file,$dest); |
&renderpage($request,$file); |
&renderpage($request,$file); |
} else { |
} else { |
my $templatelist=&get_template_list(); |
my $templatelist=&get_template_list('',$extension); |
my $url=$request->uri; |
my $url=$request->uri; |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
unless (-e $dest) { |
|
print "fnx=$dest<br>"; |
|
my $fh=Apache::File->new(">".$dest); |
|
print $fh "<problem>\n</problem>"; |
|
$fh->close; |
|
} |
|
$request->print(<<ENDNEWPROBLEM); |
$request->print(<<ENDNEWPROBLEM); |
<body bgcolor="#FFFFFF"> |
<body bgcolor="#FFFFFF"> |
The request file $url doesn\'t exist. You can create a new problem <br /> |
The request file $url doesn\'t exist. You can create a new $extension <br /> |
<form action="$url" method="POST"> |
<form action="$url" method="POST"> |
<input type="submit" value="New Problem"><br /> |
<input type="submit" value="New $extension"><br /> |
<select name="template"> |
<select name="template"> |
$templatelist |
$templatelist |
</select> |
</select> |
Line 335 sub handler {
|
Line 334 sub handler {
|
#my $t0 = [&gettimeofday()]; |
#my $t0 = [&gettimeofday()]; |
my $request=$_[0]; |
my $request=$_[0]; |
|
|
#if ( $ENV{'user.name'} eq 'albertel' ) {$Apache::lonxml::debug=1;} |
if ( $ENV{'user.name'} eq 'albertel' ) {$Apache::lonxml::debug=1;} |
|
|
if (&setupheader($request)) { return OK; } |
if (&setupheader($request)) { return OK; } |
$ENV{'request.uri'}=$request->uri; |
$ENV{'request.uri'}=$request->uri; |