version 1.1, 2006/08/11 22:00:08
|
version 1.5, 2008/01/21 17:47:21
|
Line 84 sub writefile {
|
Line 84 sub writefile {
|
my $data = &Apache::lonnet::finishuserfileupload( |
my $data = &Apache::lonnet::finishuserfileupload( |
$crsdata{'num'},$crsdata{'domain'}, |
$crsdata{'num'},$crsdata{'domain'}, |
'output',$which); |
'output',$which); |
&Apache::lonnet::logthis("gor $data $crsdata{'num'} $crsdata{'domain'}"); |
|
return $data; |
return $data; |
} |
} |
|
|
Line 92 sub writefile {
|
Line 91 sub writefile {
|
|
|
sub rewritefile { |
sub rewritefile { |
my ($contents,%rewritehash)=@_; |
my ($contents,%rewritehash)=@_; |
foreach (keys %rewritehash) { |
foreach my $pattern (keys(%rewritehash)) { |
my $pattern=$_; |
my $new=$rewritehash{$pattern}; |
$pattern=~s/(\W)/\\$1/gs; |
$contents=~s/\Q$pattern\E/$new/gs; |
my $new=$rewritehash{$_}; |
|
$contents=~s/$pattern/$new/gs; |
|
} |
} |
return $contents; |
return $contents; |
} |
} |
Line 118 sub copyfile {
|
Line 115 sub copyfile {
|
'/uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/' |
'/uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/' |
=> '/uploaded/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/', |
=> '/uploaded/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/', |
'/public/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/' |
'/public/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/' |
=> '/public/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/' |
=> '/public/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/', |
|
'/adm/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/' |
|
=> '/adm/'.$newcrsdata{'domain'}.'/'.$newcrsdata{'num'}.'/', |
))); |
))); |
} |
} |
} |
} |
Line 162 sub copyresourcedb {
|
Line 161 sub copyresourcedb {
|
|
|
$startdate = $start{'default_enrollment_start_date'}; |
$startdate = $start{'default_enrollment_start_date'}; |
} |
} |
my $today=time; |
|
my $delta=0; |
|
if ($startdate) { |
|
my $oneday=60*60*24; |
|
$delta=$today-$startdate; |
|
$delta=int($delta/$oneday)*$oneday; |
|
} |
|
# ugly retro fix for broken version of types |
# ugly retro fix for broken version of types |
foreach (keys %data) { |
foreach (keys %data) { |
if ($_=~/\wtype$/) { |
if ($_=~/\wtype$/) { |
Line 180 sub copyresourcedb {
|
Line 172 sub copyresourcedb {
|
} |
} |
# adjust symbs |
# adjust symbs |
my $pattern='uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/'; |
my $pattern='uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/'; |
$pattern=~s/(\W)/\\$1/gs; |
|
my $new= 'uploaded/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/'; |
my $new= 'uploaded/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/'; |
foreach (keys %data) { |
foreach (keys %data) { |
if ($_=~/$pattern/) { |
if ($_=~/\Q$pattern\E/) { |
my $newkey=$_; |
my $newkey=$_; |
$newkey=~s/$pattern/$new/; |
$newkey=~s/\Q$pattern\E/$new/; |
$data{$newkey}=$data{$_}; |
$data{$newkey}=$data{$_}; |
delete $data{$_}; |
delete $data{$_}; |
} |
} |
} |
} |
# adjust dates |
|
foreach (keys %data) { |
|
my $thiskey=$_; |
|
$thiskey=~s/^$origcrsid/$newcrsid/; |
|
$newdata{$thiskey}=$data{$_}; |
|
if ($data{$_.'.type'}=~/^date_(start|end)$/) { |
|
if ($delta > 0) { |
|
$newdata{$thiskey}=$newdata{$thiskey}+$delta; |
|
} else { |
|
# no delta, it's unlikely we want the old dates and times |
|
delete($newdata{$thiskey}); |
|
delete($newdata{$thiskey.'.type'}); |
|
} |
|
} |
|
} |
|
return &Apache::lonnet::put |
return &Apache::lonnet::put |
('resourcedata',\%newdata,$newcrsdata{'domain'},$newcrsdata{'num'}); |
('resourcedata',\%newdata,$newcrsdata{'domain'},$newcrsdata{'num'}); |
} |
} |