Diff for /loncom/interface/londocs.pm between versions 1.86 and 1.90

version 1.86, 2003/10/08 17:34:33 version 1.90, 2003/10/28 00:57:50
Line 138  sub dumpcourse { Line 138  sub dumpcourse {
 # Do the dumping  # Do the dumping
  unless ($outhash{'home_'.$ENV{'form.authorspace'}}) { return ''; }   unless ($outhash{'home_'.$ENV{'form.authorspace'}}) { return ''; }
  my ($ca,$cd)=split(/\@/,$ENV{'form.authorspace'});   my ($ca,$cd)=split(/\@/,$ENV{'form.authorspace'});
  $r->print('<h3>Copying Files</h3>');   $r->print('<h3>'.&mt('Copying Files').'</h3>');
  my $title=$ENV{'form.authorfolder'};   my $title=$ENV{'form.authorfolder'};
  $title=~s/[^\w\/]+/\_/g;   $title=~s/[^\w\/]+/\_/g;
  my %replacehash=();   my %replacehash=();
Line 396  sub entryline { Line 396  sub entryline {
             $foldertitle=&Apache::lontexconvert::msgtexconverted($4);              $foldertitle=&Apache::lontexconvert::msgtexconverted($4);
             $renametitle=$4;              $renametitle=$4;
             $title='<i>'.&Apache::lonlocal::locallocaltime($1).'</i> '.              $title='<i>'.&Apache::lonlocal::locallocaltime($1).'</i> '.
                 &Apache::loncommon::plainname($2,$3).': <br>'.                  &Apache::loncommon::plainname($2,$3).': <br />'.
  $foldertitle;   $foldertitle;
  }   }
     $renametitle=~s/\&quot\;/\\\"/g;      $renametitle=~s/\&quot\;/\\\"/g;
     my $line='<tr>';      my $line='<tr>';
 # Edit commands  # Edit commands
     if ($allowed) {       if ($allowed) {
        $line.=(<<END);   my %lt=('up' => 'Move Up',
    'dw' => 'Move Down',
    'rm' => 'Remove',
    'rn' => 'Rename');
         $line.=(<<END);
 <td><table border='0' cellspacing='2' cellpadding='0'>  <td><table border='0' cellspacing='2' cellpadding='0'>
 <tr><td bgcolor="#DDDDDD">  <tr><td bgcolor="#DDDDDD">
 <a href='/adm/coursedocs?folder=$folder&cmd=up_$index'>  <a href='/adm/coursedocs?folder=$folder&cmd=up_$index'>
 <img src="${iconpath}move_up.gif" alt='UP' border='0' /></a></td></tr>  <img src="${iconpath}move_up.gif" alt='$lt{'up'}' border='0' /></a></td></tr>
 <tr><td bgcolor="#DDDDDD">  <tr><td bgcolor="#DDDDDD">
 <a href='/adm/coursedocs?folder=$folder&cmd=down_$index'>  <a href='/adm/coursedocs?folder=$folder&cmd=down_$index'>
 <img src="${iconpath}move_down.gif" alt='DOWN' border='0' /></a></td></tr>  <img src="${iconpath}move_down.gif" alt='$lt{'dw'}' border='0' /></a></td></tr>
 </table></td><td bgcolor="#DDDDDD">  </table></td><td bgcolor="#DDDDDD">
 <a href='javascript:removeres("$folder","$index","$renametitle");'>  <a href='javascript:removeres("$folder","$index","$renametitle");'>
 <font size="-2" color="#990000">Remove</font></a>  <font size="-2" color="#990000">$lt{'rm'}</font></a>
 <a href='javascript:changename("$folder","$index","$renametitle");'>  <a href='javascript:changename("$folder","$index","$renametitle");'>
 <font size="-2" color="#009900">Rename</font></a></td>  <font size="-2" color="#009900">$lt{'rn'}</font></a></td>
 END  END
     }      }
 # Figure out what kind of a resource this is  # Figure out what kind of a resource this is
Line 490  sub checkonthis { Line 494  sub checkonthis {
   my $result=&Apache::lonnet::repcopy(    my $result=&Apache::lonnet::repcopy(
                               &Apache::lonnet::filelocation('',$url));                                &Apache::lonnet::filelocation('',$url));
           if ($result==OK) {            if ($result==OK) {
              $r->print('<font color="green">ok</font>');               $r->print('<font color="green">'.&mt('ok').'</font>');
              $r->rflush();               $r->rflush();
              &Apache::lonnet::countacc($url);               &Apache::lonnet::countacc($url);
              $url=~/\.(\w+)$/;               $url=~/\.(\w+)$/;
Line 511  sub checkonthis { Line 515  sub checkonthis {
                      ($Apache::lonxml::warningcount)) {                       ($Apache::lonxml::warningcount)) {
      if ($Apache::lonxml::errorcount) {       if ($Apache::lonxml::errorcount) {
                         $r->print('<font color="red"><b>'.                          $r->print('<font color="red"><b>'.
   $Apache::lonxml::errorcount.' error(s)</b></font> ');    $Apache::lonxml::errorcount.' '.
     &mt('error(s)').'</b></font> ');
                      }                       }
      if ($Apache::lonxml::warningcount) {       if ($Apache::lonxml::warningcount) {
                         $r->print('<font color="blue">'.                          $r->print('<font color="blue">'.
Line 519  sub checkonthis { Line 524  sub checkonthis {
   &mt('warning(s)').'</font>');    &mt('warning(s)').'</font>');
                      }                       }
                  } else {                   } else {
                      $r->print('<font color="green">ok</font>');                       $r->print('<font color="green">'.&mt('ok').'</font>');
                  }                   }
                  $r->rflush();                   $r->rflush();
              }               }
Line 569  sub verifycontent { Line 574  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');
    foreach (keys %hash) {
       if ($_=~/^ids\_(\/res\/.+)$/) {
    my $src=$1;
    $changes{$src}=1;
       }
    }
       } 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;
        if ($ENV{'form.timerange'}==-1) {      }
    $seltext='since start of course';      $starttime=time-$ENV{'form.timerange'};
            $startsel='selected';      if ($ENV{'form.timerange'}==2592000) {
            $ENV{'form.timerange'}=time;   $seltext=&mt('during the last month').' ('.&Apache::lonlocal::locallocaltime($starttime).')';
        }   $monthsel='selected';
        my $starttime=time-$ENV{'form.timerange'};      } elsif ($ENV{'form.timerange'}==604800) {
        if ($ENV{'form.timerange'}==2592000) {   $seltext=&mt('during the last week').' ('.&Apache::lonlocal::locallocaltime($starttime).')';
            $seltext=&mt('during the last month').' ('.&Apache::lonlocal::locallocaltime($starttime).')';   $weeksel='selected';
            $monthsel='selected';      } elsif ($ENV{'form.timerange'}==86400) {
        } elsif ($ENV{'form.timerange'}==604800) {   $seltext=&mt('since yesterday').' ('.&Apache::lonlocal::locallocaltime($starttime).')';
            $seltext=&mt('during the last week').' ('.&Apache::lonlocal::locallocaltime($starttime).')';   $daysel='selected';
            $weeksel='selected';      }
        } elsif ($ENV{'form.timerange'}==86400) {      $header=&mt('Content changed').' '.$seltext;
            $seltext=&mt('since yesterday').' ('.&Apache::lonlocal::locallocaltime($starttime).')';   } else {
            $daysel='selected';      $header=&mt('No content modifications yet.');
        }   }
        my %lt=&Apache::lonlocal::texthash      }
       ('st' => 'Since Start of Course',      my %lt=&Apache::lonlocal::texthash
        'lm' => 'Last Month',        ('st' => 'Version changes since start of Course',
        'lw' => 'Last Week',         'lm' => 'Version changes since last Month',
        'sy' => 'Since Yesterday',         'lw' => 'Version changes since last Week',
        'di' => 'Display',         'sy' => 'Version changes since Yesterday',
                'cc' => 'Content changed',                 'al' => 'All Resources',
          'sd' => 'Display',
        'fi' => 'File',         'fi' => 'File',
        'md' => 'Modification Date',         'md' => 'Modification Date',
        've' => 'Version',                 'mr' => 'Most recently published Version',
          've' => 'Version 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="-1" $startsel>$lt{'st'}</option>  <option value="-1" $startsel>$lt{'st'}</option>
 <option value="2592000" $monthsel>$lt{'lm'}</option>  <option value="2592000" $monthsel>$lt{'lm'}</option>
 <option value="604800" $weeksel>$lt{'lw'}</option>  <option value="604800" $weeksel>$lt{'lw'}</option>
 <option value="86400" $daysel>$lt{'sy'}</option>  <option value="86400" $daysel>$lt{'sy'}</option>
 </select>  </select>
 <input type="submit" name="versions" value="$lt{'di'}" />  <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{'fi'}</th><th>$lt{'md'}</th><th>$lt{'mr'}</th>
 <th>$lt{'ve'}</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{$_}).'</td><td>'.$currentversion.'</td>'.        &Apache::lonlocal::locallocaltime($changes{$_}).
        '<td>');                        '</td><td><font size="+2">'.
              my $lastold=1;        $currentversion.'</font></td><td><font size="+2">');
              for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) {  # Used in course
                  my $url=$root.'.'.$prevvers.'.'.$extension;      my $usedversion=$hash{'version_'.$linkurl};
                  if (&Apache::lonnet::metadata($url,'lastrevisiondate')<      if ($usedversion) {
                                                              $starttime) {   $r->print($usedversion);
                      $lastold=$prevvers;      } else {
                  }   $r->print($currentversion);
              }      }
       $r->print('</font></td><td>');
   # Set version
       $r->print(&Apache::loncommon::select_form($usedversion,
         'set_version_'.$linkurl,
         ('' => '',
          'current' => 'current',
          map {$_,$_} (1..$currentversion))));
       $r->print('</td><td>');
       my $lastold=1;
       for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) {
    my $url=$root.'.'.$prevvers.'.'.$extension;
    if (&Apache::lonnet::metadata($url,'lastrevisiondate')<
       $starttime) {
       $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.
      '">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
Line 877  ENDNEWSCRIPT Line 919  ENDNEWSCRIPT
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
     if ($allowed) {      if ($allowed) {
        my $dumpbut=&dumpbutton();         my $dumpbut=&dumpbutton();
          my %lt=&Apache::lonlocal::texthash(
    'vc' => 'Verify Content',
    'cv' => 'Check/Set Resource Versions',
     );
        $r->print(<<ENDCOURSEVERIFY);         $r->print(<<ENDCOURSEVERIFY);
 <form name="renameform" method="post" action="/adm/coursedocs">  <form name="renameform" method="post" action="/adm/coursedocs">
 <input type="hidden" name="title" />  <input type="hidden" name="title" />
Line 890  ENDNEWSCRIPT Line 936  ENDNEWSCRIPT
 <form action="/adm/coursedocs" method="post" name="courseverify">  <form action="/adm/coursedocs" method="post" name="courseverify">
 <table bgcolor="#AAAAAA" width="100%" cellspacing="4" cellpadding="4">  <table bgcolor="#AAAAAA" width="100%" cellspacing="4" cellpadding="4">
 <tr><td bgcolor="#DDDDCC">  <tr><td bgcolor="#DDDDCC">
 <input type="submit" name="verify" value="Verify Content" />  <input type="submit" name="verify" value="$lt{'vc'}" />
 </td><td bgcolor="#DDDDCC">  </td><td bgcolor="#DDDDCC">
 <input type="submit" name="versions" value="Check Resource Versions" />  <input type="submit" name="versions" value="$lt{'cv'}" />
 $dumpbut  $dumpbut
 </td></tr></table>  </td></tr></table>
 </form>  </form>

Removed from v.1.86  
changed lines
  Added in v.1.90


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