[LON-CAPA-cvs] cvs: loncom /interface lonhelp.pm
bowersj2
lon-capa-cvs@mail.lon-capa.org
Tue, 15 Jul 2003 18:50:43 -0000
bowersj2 Tue Jul 15 14:50:43 2003 EDT
Modified files:
/loncom/interface lonhelp.pm
Log:
Allow the joining together of various help files by seperating the names
with commas in the file name.
Index: loncom/interface/lonhelp.pm
diff -u loncom/interface/lonhelp.pm:1.5 loncom/interface/lonhelp.pm:1.6
--- loncom/interface/lonhelp.pm:1.5 Tue Feb 25 17:50:11 2003
+++ loncom/interface/lonhelp.pm Tue Jul 15 14:50:43 2003
@@ -132,17 +132,26 @@
my $docroot = $r->dir_config('lonDocRoot');
my $serverroot = $ENV{'HTTP_HOST'};
- my $filename = substr ($ENV{'REQUEST_URI'} ,
+ my $filenames = substr ($ENV{'REQUEST_URI'} ,
rindex($ENV{'REQUEST_URI'}, '/') + 1, -4);
# Security check on the file; the whole filename must consist
# of nothing but alphanums, ' ,, or ., or the file
# will be "not found", no matter what.
- return HTTP_NOT_FOUND if ($filename !~ /\A[-0-9a-zA-z_'',.]+\Z/);
+ return HTTP_NOT_FOUND if ($filenames !~ /\A[-0-9a-zA-z_'',.]+\Z/);
- (my $file = Apache::File->new($docroot . "/adm/help/tex/".$filename.'.tex'))
- or return HTTP_NOT_FOUND;
+ # Join together the tex files, return HTTP_NOT_FOUND if any of
+ # them are not found
+ my $tex = '';
+ my @files = split(/,/, $filenames);
+
+ for my $filename (@files) {
+ (my $file = Apache::File->new($docroot
+ . '/adm/help/tex/'.$filename.'.tex'))
+ or return HTTP_NOT_FOUND;
+ $tex .= join('', <$file>);
+ }
# get me my environment if it exists
&Apache::lonacc::handler($r);
@@ -165,7 +174,6 @@
}
}
- my $tex = join('', <$file>);
$tex = render($tex, $docroot, $serverroot);
serveTex($tex, $r);