Diff for /loncom/interface/loncreatecourse.pm between versions 1.35 and 1.37

version 1.35, 2003/09/03 23:15:27 version 1.37, 2003/09/09 17:26:03
Line 98  sub writefile { Line 98  sub writefile {
   'output',$which);    'output',$which);
 }  }
   
   # ===================================================================== Rewrite
   
   sub rewritefile {
       my ($contents,%rewritehash)=@_;
       foreach (keys %rewritehash) {
    my $pattern=$_;
    $pattern=~s/(\W)/\\$1/gs;
    my $new=$rewritehash{$_};
    $contents=~s/$pattern/$new/gs;
       }
       return $contents;
   }
   
 # ============================================================= Copy a userfile  # ============================================================= Copy a userfile
   
 sub copyfile {  sub copyfile {
     my ($origcrsid,$newcrsid,$which)=@_;      my ($origcrsid,$newcrsid,$which)=@_;
     return &writefile($newcrsid,$which,&readfile($origcrsid,$which));      unless ($which=~/\.sequence$/) {
    return &writefile($newcrsid,$which,
         &readfile($origcrsid,$which));
       } else {
    my %origcrsdata=&Apache::lonnet::coursedescription($origcrsid);
    my %newcrsdata= &Apache::lonnet::coursedescription($newcrsid);
    return &writefile($newcrsid,$which,
    &rewritefile(
                        &readfile($origcrsid,$which),
       (
          '/uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/'
       => '/uploaded/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/'
               )));
       }
 }  }
   
 # =============================================================== Copy a dbfile  # =============================================================== Copy a dbfile
Line 149  sub copyresourcedb { Line 175  sub copyresourcedb {
     delete $data{$_};      delete $data{$_};
  }   }
     }      }
   # adjust symbs
       my $pattern='uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/';
       $pattern=~s/(\W)/\\$1/gs;
       my $new=    'uploaded/'. $newcrsdata{'domain'}.'/'. $newcrsdata{'num'}.'/';
       foreach (keys %data) {
    if ($_=~/$pattern/) {
       my $newkey=$_;
       $newkey=~s/$pattern/$new/;
       $data{$newkey}=$data{$_};
       delete $data{$_};
    }
       }
 # adjust dates  # adjust dates
     foreach (keys %data) {      foreach (keys %data) {
  my $thiskey=$_;   my $thiskey=$_;
Line 395  ENDENHEAD Line 433  ENDENHEAD
  } else {   } else {
     $r->print(      $r->print(
     '<br /><font color="green">Cloning course from '.$clonehome.'</font>');      '<br /><font color="green">Cloning course from '.$clonehome.'</font>');
       my %oldcenv=&Apache::lonnet::dump('environment',$crsudom,$crsunum);
 # Copy all files  # Copy all files
     &copycoursefiles($cloneid,$courseid);      &copycoursefiles($cloneid,$courseid);
   # Restore URL
       $cenv{'url'}=$oldcenv{'url'};
 # Restore title  # Restore title
     $cenv{'description'}=$cdescr;      $cenv{'description'}=$oldcenv{'description'};
   # Mark as cloned
     $cenv{'clonedfrom'}=$cloneid;      $cenv{'clonedfrom'}=$cloneid;
  }   }
     }      }

Removed from v.1.35  
changed lines
  Added in v.1.37


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