Diff for /loncom/interface/londocs.pm between versions 1.88 and 1.89

version 1.88, 2003/10/22 21:41:11 version 1.89, 2003/10/28 00:31:02
Line 570  sub verifycontent { Line 570  sub verifycontent {
   
 sub checkversions {  sub checkversions {
     my $r=shift;      my $r=shift;
    $r->print('<html><head><title>Check Versions</title></head>'.      $r->print('<html><head><title>Check Versions</title></head>'.
               &Apache::loncommon::bodytag('Check Course Document Versions'));                &Apache::loncommon::bodytag('Check Course Document Versions'));
    $hashtied=0;      $hashtied=0;
    &tiehash();      &tiehash();
    my %changes=&Apache::lonnet::dump      my $header='';
     ('versionupdate',$ENV{'course.'.$ENV{'request.course.id'}.'.domain'},      my $startsel='';
       my $monthsel='';
       my $weeksel='';
       my $daysel='';
       my $allsel='';
       my %changes=();
       my $starttime=0;
       if ($ENV{'form.timerange'} eq 'all') {
   # show all documents
    $header=&mt('All Documents in Course');
       } else {
   # show documents which changed
    %changes=&Apache::lonnet::dump
    ('versionupdate',$ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
                      $ENV{'course.'.$ENV{'request.course.id'}.'.num'});                       $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
    my $firstkey=(keys %changes)[0];   my $firstkey=(keys %changes)[0];
    unless ($firstkey=~/^error\:/) {   unless ($firstkey=~/^error\:/) {
        unless ($ENV{'form.timerange'}) {      unless ($ENV{'form.timerange'}) {
    $ENV{'form.timerange'}=604800;   $ENV{'form.timerange'}=604800;
        }      }
        my $seltext=&mt('during the last').' '.$ENV{'form.timerange'}.' '      my $seltext=&mt('during the last').' '.$ENV{'form.timerange'}.' '
    .&mt('seconds');   .&mt('seconds');
        my $startsel='';      if ($ENV{'form.timerange'}==-1) {
        my $monthsel='';   $seltext='since start of course';
        my $weeksel='';   $startsel='selected';
        my $daysel='';   $ENV{'form.timerange'}=time;
        my $allsel='';      }
        if ($ENV{'form.timerange'}==-1) {      $starttime=time-$ENV{'form.timerange'};
    $seltext='since start of course';      if ($ENV{'form.timerange'}==2592000) {
            $startsel='selected';   $seltext=&mt('during the last month').' ('.&Apache::lonlocal::locallocaltime($starttime).')';
            $ENV{'form.timerange'}=time;   $monthsel='selected';
        }      } elsif ($ENV{'form.timerange'}==604800) {
        my $starttime=time-$ENV{'form.timerange'};   $seltext=&mt('during the last week').' ('.&Apache::lonlocal::locallocaltime($starttime).')';
        if ($ENV{'form.timerange'}==2592000) {   $weeksel='selected';
            $seltext=&mt('during the last month').' ('.&Apache::lonlocal::locallocaltime($starttime).')';      } elsif ($ENV{'form.timerange'}==86400) {
            $monthsel='selected';   $seltext=&mt('since yesterday').' ('.&Apache::lonlocal::locallocaltime($starttime).')';
        } elsif ($ENV{'form.timerange'}==604800) {   $daysel='selected';
            $seltext=&mt('during the last week').' ('.&Apache::lonlocal::locallocaltime($starttime).')';      }
            $weeksel='selected';      $header=&mt('Content changed').' '.$seltext;
        } elsif ($ENV{'form.timerange'}==86400) {   } else {
            $seltext=&mt('since yesterday').' ('.&Apache::lonlocal::locallocaltime($starttime).')';      $header=&mt('No content modifications yet.');
            $daysel='selected';   }
        } elsif ($ENV{'form.timerange'} eq 'all') {      }
    $allsel='all';      my %lt=&Apache::lonlocal::texthash
        }  
        my %lt=&Apache::lonlocal::texthash  
       ('st' => 'Version changes since start of Course',        ('st' => 'Version changes since start of Course',
        'lm' => 'Version changes since last Month',         'lm' => 'Version changes since last Month',
        'lw' => 'Version changes since last Week',         'lw' => 'Version changes since last Week',
        'sy' => 'Version changes since Yesterday',         'sy' => 'Version changes since Yesterday',
                'al' => 'All Resources',                 'al' => 'All Resources',
        'sd' => 'Display',         'sd' => 'Display',
                'cc' => 'Content changed',  
        'fi' => 'File',         'fi' => 'File',
        'md' => 'Modification Date',         'md' => 'Modification Date',
                'mr' => 'Most recently published Version',                 'mr' => 'Most recently published Version',
        've' => 'Version used in Course',         've' => 'Version used in Course',
                'vu' => 'Set Version to be used in Course',                  'vu' => 'Set Version to be used in Course', 
        'di' => 'Differences');         'di' => 'Differences');
        $r->print(<<ENDHEADERS);      $r->print(<<ENDHEADERS);
 <form action="/adm/coursedocs" method="post">  <form action="/adm/coursedocs" method="post">
 <select name="timerange">  <select name="timerange">
 <option value='all' $allsel>$lt{'al'}</option>  <option value='all' $allsel>$lt{'al'}</option>
Line 632  sub checkversions { Line 642  sub checkversions {
 </select>  </select>
 <input type="submit" name="versions" value="$lt{'sd'}" />  <input type="submit" name="versions" value="$lt{'sd'}" />
 </form>  </form>
 <h3>$lt{'cc'} $seltext</h3>  <h3>$header</h3>
 <table border="2">  <table border="2">
 <tr>  <tr>
 <th>$lt{'fi'}</th><th>$lt{'md'}</th><th>$lt{'mr'}</th>  <th>$lt{'fi'}</th><th>$lt{'md'}</th><th>$lt{'mr'}</th>
 <th>$lt{'ve'}</th><th>$lt{'vu'}</th><th>$lt{'di'}</th></tr>  <th>$lt{'ve'}</th><th>$lt{'vu'}</th><th>$lt{'di'}</th></tr>
 ENDHEADERS  ENDHEADERS
        foreach (keys %changes) {      foreach (keys %changes) {
   if ($changes{$_}>$starttime) {   if ($changes{$_}>$starttime) {
      my ($root,$extension)=($_=~/^(.*)\.(\w+)$/);      my ($root,$extension)=($_=~/^(.*)\.(\w+)$/);
              my $currentversion=&Apache::lonnet::getversion($_);      my $currentversion=&Apache::lonnet::getversion($_);
              my $linkurl=&Apache::lonnet::clutter($_);      my $linkurl=&Apache::lonnet::clutter($_);
              $r->print(      $r->print(
                  '<tr><td><a href="'.$linkurl.'" target="cat">'.$linkurl.        '<tr><td><a href="'.$linkurl.'" target="cat">'.$linkurl.
                  '</a></td><td>'.        '</a></td><td>'.
                  &Apache::lonlocal::locallocaltime($changes{$_}).        &Apache::lonlocal::locallocaltime($changes{$_}).
                       '</td><td><font size="+2">'.                        '</td><td><font size="+2">'.
        $currentversion.'</font></td><td><font size="+2">');        $currentversion.'</font></td><td><font size="+2">');
 # Used in course  # Used in course
      my $usedversion=$hash{'version_'.$linkurl};      my $usedversion=$hash{'version_'.$linkurl};
      if ($usedversion) {      if ($usedversion) {
  $r->print($usedversion);   $r->print($usedversion);
      } else {      } else {
  $r->print($currentversion);   $r->print($currentversion);
      }      }
      $r->print('</font></td><td>');      $r->print('</font></td><td>');
 # Set version  # Set version
      $r->print(&Apache::loncommon::select_form($usedversion,      $r->print(&Apache::loncommon::select_form($usedversion,
        'set_version_'.$linkurl,        'set_version_'.$linkurl,
                                ('' => '',        ('' => '',
                               'current' => 'current',         'current' => 'current',
                                map {$_,$_} (1..$currentversion))));         map {$_,$_} (1..$currentversion))));
      $r->print('</td><td>');      $r->print('</td><td>');
              my $lastold=1;      my $lastold=1;
              for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) {      for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) {
                  my $url=$root.'.'.$prevvers.'.'.$extension;   my $url=$root.'.'.$prevvers.'.'.$extension;
                  if (&Apache::lonnet::metadata($url,'lastrevisiondate')<   if (&Apache::lonnet::metadata($url,'lastrevisiondate')<
                                                              $starttime) {      $starttime) {
                      $lastold=$prevvers;      $lastold=$prevvers;
                  }   }
              }      }
             for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) {              for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) {
                  my $url=$root.'.'.$prevvers.'.'.$extension;   my $url=$root.'.'.$prevvers.'.'.$extension;
                  $r->print('<a href="'.&Apache::lonnet::clutter($url).   $r->print('<a href="'.&Apache::lonnet::clutter($url).
                    '">'.&mt('Version').' '.$prevvers.' ('.    '">'.&mt('Version').' '.$prevvers.' ('.
                  &Apache::lonlocal::locallocaltime(&Apache::lonnet::metadata($url,'lastrevisiondate')).    &Apache::lonlocal::locallocaltime(&Apache::lonnet::metadata($url,'lastrevisiondate')).
                  ')</a>');    ')</a>');
                  if (&Apache::loncommon::fileembstyle($extension) eq 'ssi') {   if (&Apache::loncommon::fileembstyle($extension) eq 'ssi') {
                     $r->print(' <a href="/adm/diff?filename='.                      $r->print(' <a href="/adm/diff?filename='.
                             &Apache::lonnet::clutter($root.'.'.$extension).        &Apache::lonnet::clutter($root.'.'.$extension).
                             '&versionone='.$prevvers.        '&versionone='.$prevvers.
      '">'.&mt('Diffs').'</a>');        '">'.&mt('Diffs').'</a>');
                  }   }
                  $r->print('<br />');   $r->print('<br />');
              }      }
              $r->print('</td></tr>');      $r->print('</td></tr>');
           }   }
        }      }
        $r->print('</table>');      $r->print('</table>');
        $r->print('<h1>'.&mt('Done').'.</h1>');      $r->print('<h1>'.&mt('Done').'.</h1>');
    } else {  
        $r->print('<p>'.&mt('No content modifications yet.').'</p>');      &untiehash();
    }  
    &untiehash();  
 }  }
   
 # ================================================================ Main Handler  # ================================================================ Main Handler

Removed from v.1.88  
changed lines
  Added in v.1.89


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