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

version 1.32, 2003/09/02 19:47:47 version 1.35, 2003/09/03 23:15:27
Line 118  sub copydb { Line 118  sub copydb {
  ($which,\%data,$newcrsdata{'domain'},$newcrsdata{'num'});   ($which,\%data,$newcrsdata{'domain'},$newcrsdata{'num'});
 }  }
   
   # ========================================================== Copy resourcesdata
   
   sub copyresourcedb {
       my ($origcrsid,$newcrsid)=@_;
       my %origcrsdata=&Apache::lonnet::coursedescription($origcrsid);
       my %newcrsdata= &Apache::lonnet::coursedescription($newcrsid);
       my %data=&Apache::lonnet::dump
    ('resourcedata',$origcrsdata{'domain'},$origcrsdata{'num'});
       $origcrsid=~s/^\///;
       $origcrsid=~s/\//\_/;
       $newcrsid=~s/^\///;
       $newcrsid=~s/\//\_/;
       my %newdata=();
       undef %newdata;
       my $startdate=$data{$origcrsid.'.0.opendate'};
       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
       foreach (keys %data) {
    if ($_=~/\wtype$/) {
       my $newkey=$_;
       $newkey=~s/type$/\.type/;
       $data{$newkey}=$data{$_};
       delete $data{$_};
    }
       }
   # adjust dates
       foreach (keys %data) {
    my $thiskey=$_;
    $thiskey=~s/^$origcrsid/$newcrsid/;
    $newdata{$thiskey}=$data{$_};
    if ($data{$_.'.type'}=~/^date/) {
       $newdata{$thiskey}=$newdata{$thiskey}+$delta;
    }
       }
       return &Apache::lonnet::put
    ('resourcedata',\%newdata,$newcrsdata{'domain'},$newcrsdata{'num'});
   }
   
 # ========================================================== Copy all userfiles  # ========================================================== Copy all userfiles
   
 sub copyuserfiles {  sub copyuserfiles {
Line 133  sub copydbfiles { Line 177  sub copydbfiles {
     foreach (&crsdirlist($origcrsid)) {      foreach (&crsdirlist($origcrsid)) {
  if ($_=~/\.db$/) {   if ($_=~/\.db$/) {
     unless       unless 
              ($_=~/^(nohist\_|discussiontimes|classlist|versionupdate)/) {               ($_=~/^(nohist\_|discussiontimes|classlist|versionupdate|resourcedata)/) {
  &copydb($origcrsid,$newcrsid,$_);   &copydb($origcrsid,$newcrsid,$_);
      }       }
  }   }
Line 146  sub copycoursefiles { Line 190  sub copycoursefiles {
     my ($origcrsid,$newcrsid)=@_;      my ($origcrsid,$newcrsid)=@_;
     &copyuserfiles($origcrsid,$newcrsid);      &copyuserfiles($origcrsid,$newcrsid);
     &copydbfiles($origcrsid,$newcrsid);      &copydbfiles($origcrsid,$newcrsid);
       &copyresourcedb($origcrsid,$newcrsid);
 }  }
   
 # ===================================================== Phase one: fill-in form  # ===================================================== Phase one: fill-in form
Line 354  ENDENHEAD Line 399  ENDENHEAD
     &copycoursefiles($cloneid,$courseid);      &copycoursefiles($cloneid,$courseid);
 # Restore title  # Restore title
     $cenv{'description'}=$cdescr;      $cenv{'description'}=$cdescr;
       $cenv{'clonedfrom'}=$cloneid;
  }   }
     }      }
 #  #
Line 398  ENDENHEAD Line 444  ENDENHEAD
 #  #
     if ($ENV{'form.openall'}) {      if ($ENV{'form.openall'}) {
        my $storeunder=$crsudom.'_'.$crsunum.'.0.opendate';         my $storeunder=$crsudom.'_'.$crsunum.'.0.opendate';
        my %storecontent = ($storeunder        => time,         my %storecontent = ($storeunder         => time,
                            $storeunder.'type' => 'date_start');                             $storeunder.'.type' => 'date_start');
                 
        $r->print('Opening all assignments: '.&Apache::lonnet::cput         $r->print('Opening all assignments: '.&Apache::lonnet::cput
                  ('resourcedata',\%storecontent,$crsudom,$crsunum).'<br>');                   ('resourcedata',\%storecontent,$crsudom,$crsunum).'<br>');

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


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