--- loncom/imspackages/imsprocessor.pm 2011/10/24 23:41:52 1.49 +++ loncom/imspackages/imsprocessor.pm 2011/11/03 17:54:53 1.50 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Processor for IMS Packages # -# $Id: imsprocessor.pm,v 1.49 2011/10/24 23:41:52 www Exp $ +# $Id: imsprocessor.pm,v 1.50 2011/11/03 17:54:53 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -679,10 +679,11 @@ sub process_resinfo { $cid = $env{'request.course.id'}; } my $destresdir = $destdir; + my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'}; if ($context eq 'CSTR') { - $destresdir =~ s|/home/httpd/html/priv/|/res/|; + $destresdir =~ s{^\Q$londocroot/priv/\E}{/res/}; } elsif ($context eq 'DOCS') { - $destresdir =~ s|^/home/httpd/html/userfiles|/uploaded|; + $destresdir =~ s{^\Q$londocroot/userfiles\E}{/uploaded}; } foreach my $res (sort(keys(%allquestions))) { my $parent = $allquestions{$res}; @@ -3217,10 +3218,11 @@ sub process_assessment { ($cdom,$cnum) = split/_/,$cid; } my $destresdir = $destdir; + my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'}; if ($context eq 'CSTR') { - $destresdir =~ s|/home/httpd/html/priv/|/res/|; + $destresdir =~ s{^\Q$londocroot/priv/\E}{/res/}; } elsif ($context eq 'DOCS') { - $destresdir =~ s|^/home/httpd/html/userfiles|/uploaded|; + $destresdir =~ s{^\Q$londocroot/userfiles\E}{/uploaded}; } if ($cms eq 'bb5') { &parse_bb5_assessment($res,$docroot,$container,$settings,\%allanswers,\%allchoices,\@allids); @@ -3367,8 +3369,8 @@ sub build_problem_container { push @{$sequencesfiles},$mapname.'.sequence'; } else { $$containerdir = $pagedir.'/'.$mapname.'.page'; - if (!-e "$destdir/pages") { - mkdir("$destdir/pages",0770); + if (!-e "$pagedir") { + mkdir("$pagedir",0770); } open($fh,">$$containerdir"); $$total{page} ++; @@ -3462,6 +3464,7 @@ sub write_bb5_questions { my ($allids,$containerdir,$context,$settings,$dirname,$destdir,$res,$allanswers,$allchoices,$total,$newdir,$cid,$cdom,$cnum,$docroot) = @_; my $qnum = 0; my $pathstart; + my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'}; if ($context eq 'CSTR') { $pathstart = '../..'; } else { @@ -3481,7 +3484,7 @@ sub write_bb5_questions { $qnum ++; my $output; my $permcontainer = $containerdir; - $permcontainer =~ s#/home/httpd/html/userfiles#uploaded#; + $permcontainer =~ s{^\Q$londocroot/userfiles\E}{uploaded}; my $symb = $cid.'.'.$permcontainer.'___'.$qnum.'___lib/templates/simpleproblem.problem.0.'; my %resourcedata = (); for (my $i=0; $i<10; $i++) { @@ -3838,6 +3841,7 @@ sub write_bb5_questions { sub write_webct4_questions { my ($cms,$alldbquestids,$context,$settings,$dirname,$allanswers,$allchoices,$total,$cid,$cdom,$cnum,$destdir,$catinfo,$dirtitle) = @_; + my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'}; my $qnum = 0; foreach my $id (@{$alldbquestids}) { $qnum ++; @@ -3870,7 +3874,7 @@ sub write_webct4_questions { } } } - $permcontainer =~ s#/home/httpd/html/userfiles#uploaded#; + $permcontainer =~ s{\Q$londocroot/userfiles\E}{uploaded}; my $symb = $cid.'.'.$permcontainer.'___'.$qnum.'___lib/templates/simpleproblem.problem.0.'; my %resourcedata = (); for (my $i=0; $i<10; $i++) { @@ -4477,6 +4481,7 @@ sub test_for_html { sub write_bb6_questions { my ($allids,$containerdir,$context,$settings,$dirname,$destdir,$res,$total,$newdir,$cid,$cdom,$cnum,$docroot) = @_; + my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'}; my $qnum = 0; foreach my $id (@{$allids}) { my $questiontext = $$settings{$id}{question}{text}; @@ -4485,7 +4490,7 @@ sub write_bb6_questions { $qnum ++; my $output; my $permcontainer = $containerdir; - $permcontainer =~ s#/home/httpd/html/userfiles#uploaded#; + $permcontainer =~ s{\Q$londocroot/userfiles\E}{uploaded}; my $symb = $cid.'.'.$permcontainer.'___'.$qnum.'___lib/templates/simpleproblem.problem.0.'; my %resourcedata = (); for (my $i=0; $i<10; $i++) { @@ -4979,10 +4984,11 @@ sub process_content { my ($cms,$res,$context,$docroot,$destdir,$settings,$dom,$user,$resrcfiles,$packages,$hrefs) = @_; my $xmlfile = $docroot.'/'.$res.".dat"; my $destresdir = $destdir; + my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'}; if ($context eq 'CSTR') { - $destresdir =~ s|/home/httpd/html/priv/|/res/|; + $destresdir =~ s{^\Q$londocroot/priv/\E}{/res/}; } elsif ($context eq 'DOCS') { - $destresdir =~ s|^/home/httpd/html/userfiles|/uploaded|; + $destresdir =~ s{^\Q$londocroot/userfiles\E}{/uploaded}; } my $filetag = ''; if ($cms eq 'bb5') {