--- loncom/publisher/testbankimport.pm 2006/04/06 22:15:19 1.9
+++ loncom/publisher/testbankimport.pm 2007/05/02 01:34:23 1.12
@@ -1,5 +1,5 @@
# Handler for parsing text upload problem descriptions into .problems
-# $Id: testbankimport.pm,v 1.9 2006/04/06 22:15:19 albertel Exp $
+# $Id: testbankimport.pm,v 1.12 2007/05/02 01:34:23 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -35,6 +35,7 @@ use HTML::Entities();
use Apache::lonlocal;
use Apache::lonupload;
use File::Basename();
+use LONCAPA();
# ---------------------------------------------------------------- Display Control
sub display_control {
@@ -348,10 +349,16 @@ sub jscript_three {
$source = $env{'form.go'};
}
+ my %body_layout = ('rightmargin' => "0",
+ 'leftmargin' => "0",
+ 'marginwidth' => "0",
+ 'topmargin' => "0",
+ 'marginheight' => "0");
+
my $start_page =
&Apache::loncommon::start_page('Create Testbank directory',undef,
{'only_body' => 1,
- 'add_entries' => "topmargin='0' leftmargin='0' marginheight='0'marginwidth='0' rightmargin='0'",
+ 'add_entries' => \%body_layout,
'js_ready' => 1,});
my $end_page =
&Apache::loncommon::end_page({'js_ready' => 1,});
@@ -386,7 +393,7 @@ function createWin() {
newWindow.document.write("
Location: $fullpath
New Directory
\\n")
newWindow.document.write("
\\n")
newWindow.document.write("
@@ -1033,7 +1040,7 @@ END_OF_ONE
-Please choose a destination LON-CAPA directory in which to store your uploaded questions.
+Please choose a destination LON-CAPA directory in which to save your uploaded questions.
@@ -1705,7 +1712,6 @@ sub handler {
my $javascript = '';
my $page_name = '';
my $current_page = '';
- my $loadentries = '';
my $qcount = '';
#
# phase two: re-attach user
@@ -1731,7 +1737,7 @@ sub handler {
$fn=$env{'form.filename'};
$fn=~s/^http\:\/\/[^\/]+\///;
$fn=~s/^\///;
- $fn=~s/(\~|priv\/)(\w+)//;
+ $fn=~s{(~|priv/)($LONCAPA::username_re)}{};
$fn=~s/\/+/\//g;
} else {
$r->log_reason($env{'user.name'}.' at '.$env{'user.domain'}.
@@ -1747,7 +1753,6 @@ sub handler {
my $dirpath = '/home/'.$uname.'/public_html';
my @text = ();
- my $loadentries = '';
if ($env{'form.phase'} eq 'three') {
if (-e "$dirpath$fn") {
open(TESTBANK,"<$dirpath$fn");
@@ -1762,20 +1767,21 @@ sub handler {
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
+ my %loadentries;
if ($env{'form.phase'} eq 'three') {
$current_page = &display_control();
my @PAGES = ('Welcome','Blocks','Format','Target','Confirmation');
$page_name = $PAGES[$current_page];
if ($page_name eq 'Blocks') {
- $loadentries = 'onLoad= "setElements()"';
+ $loadentries{'onload'} = "setElements()";
&jscript_one(\$javascript);
} elsif ($page_name eq 'Format') {
$qcount = question_count($env{'form.qnumformat'},\@text);
&jscript_two(\$javascript,$qcount);
} elsif ($page_name eq 'Target') {
if ($env{'form.go'} eq "PreviousPage") {
- $loadentries = 'onLoad = "setElements()"';
+ $loadentries{'onload'} = "setElements()";
}
&jscript_three($fullpath,\$javascript);
} elsif ($page_name eq 'Confirmation') {
@@ -1788,7 +1794,7 @@ sub handler {
$r->print(&Apache::loncommon::start_page('Upload testbank questions to Construction Space',
$javascript,
- {'add_entries' => $loadentries}));
+ {'add_entries' => \%loadentries}));
if (($uname ne $env{'user.name'}) || ($udom ne $env{'user.domain'})) {
$r->print('