Diff for /loncom/interface/lonclonecourse.pm between versions 1.1 and 1.5

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'});
 }  }

Removed from v.1.1  
changed lines
  Added in v.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>