--- loncom/interface/lonsource.pm 2004/07/07 18:14:33 1.5 +++ loncom/interface/lonsource.pm 2005/04/07 04:46:36 1.10 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Souce Code handler # -# $Id: lonsource.pm,v 1.5 2004/07/07 18:14:33 taceyjo1 Exp $ +# $Id: lonsource.pm,v 1.10 2005/04/07 04:46:36 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -55,7 +55,8 @@ sub stage_2 { &Apache::loncommon::content_type($r,'text/html'); my ($uname, $udom) = &Apache::loncacc::constructaccess('/~'.$author.'/',$r->dir_config('lonDefDomain')); $r->send_http_header; - $r->print('LON-CAPA Move source to construction space'); + my $html=&Apache::lonxml::xmlbegin(); + $r->print($html.'LON-CAPA Move source to construction space'); $r->print(&Apache::loncommon::bodytag('Problem source code moving operation')); $r->print("Please enter the directory that you would like the source code to go into, a default has also been provided
"); $r->print("Also note, the path is in reference to the root of your construction space, and new directories will be automatically created.

"); @@ -94,12 +95,13 @@ sub copy_stage { } &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; - $r->print('LON-CAPA Move source to construction space'); + my $html=&Apache::lonxml::xmlbegin(); + $r->print($html.'LON-CAPA Move source to construction space'); $r->print(&Apache::loncommon::bodytag('Copying Source')); my $result = &Apache::loncfile::exists($uname, $udom, $path_to_new_file); $r->print($result); if(($result) && ($result =~ m|published|) ) { - &delete_file($r, $author_name, $newpath, $filename, $path_to_new_file, '1'); + &delete_copy_file($r, $author_name, $newpath, $filename, $path_to_new_file, '1'); } elsif(($result) && ($result =~ m|exists!|)) { &confirm($r, $author_name, $newpath, $filename, $path_to_new_file); } else { @@ -124,12 +126,12 @@ sub confirm { '); } -sub delete_file { +sub delete_copy_file { my ($r, $author_name, $newpath, $filename, $path_to_new_file, $type) = @_; if($type eq '1') { $r->print("Cannot delete non-obsolete published file
Please use the code view in previous window to use shared code

"); - $r->print(''); + $r->print(''); } else { if(-e $path_to_new_file) { unless(unlink($path_to_new_file)) { @@ -168,7 +170,7 @@ sub copy_file { } $r->print("
Copying File"); - my $problem_filename = "/home/httpd/html".$filename; + my $problem_filename = $Apache::lonnet::perlvar{'lonDocRoot'}.$filename; my $file_output = &Apache::lonnet::getfile($problem_filename); my $fs=Apache::File->new(">$path_to_new_file"); if (defined($fs)) { @@ -181,7 +183,7 @@ sub copy_file { sub print_item { my ($r, $filename) = @_; - $filename = "/home/httpd/html".$filename; + $filename = $Apache::lonnet::perlvar{'lonDocRoot'}.$filename; &Apache::lonnet::logthis("print_item filename = $filename"); my $file_output = &Apache::lonnet::getfile($filename); my $count=0; @@ -212,31 +214,27 @@ sub handler { if ($source ne 'open') { $ENV{'user.error.msg'}="$filename:cre:1:1:Source code not available"; return HTTP_NOT_ACCEPTABLE; - } + } if ((!&Apache::lonnet::allowed('cre',$filename)) || (!&Apache::lonnet::allowed('bre',$filename))) { $ENV{'user.error.msg'}="$filename:bre:1:1:Access to resource denied"; return HTTP_NOT_ACCEPTABLE; - } + } if ($ENV{'form.action'} eq 'stage2') { my $author = &Apache::lonnet::metadata($filename,'authorspace'); - $author =~ m|@|; - $author = $`; #This just tells who the author name is for later processing. + ($author) = split('@',$author); #strip the domain of the author name &stage_2($r, $ENV{'form.filename'}, $author, $listname); - } - elsif($ENV{'form.action'} eq 'copy_stage') { + } elsif($ENV{'form.action'} eq 'copy_stage') { ©_stage($r, $filename,$ENV{'form.listname'},$ENV{'form.newpath'}); - } - elsif($ENV{'form.action'} eq 'delete_confirm') { + } elsif($ENV{'form.action'} eq 'delete_confirm') { &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; - &delete_file($r, $ENV{'form.author'}, $ENV{'form.newpath'}, $ENV{'form.filename'}, $ENV{'form.path'}, '0'); - } - else { + &delete_copy_file($r, $ENV{'form.author'}, $ENV{'form.newpath'}, $ENV{'form.filename'}, $ENV{'form.path'}, '0'); + } else { &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; $r->print('
- +