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

version 1.90, 2003/10/28 00:57:50 version 1.107, 2004/02/19 21:51:11
Line 68  sub mapread { Line 68  sub mapread {
   
 sub storemap {  sub storemap {
     my ($coursenum,$coursedom,$map)=@_;      my ($coursenum,$coursedom,$map)=@_;
     $hadchanges=1;      my ($outtext,$errtext)=
     return  
       &Apache::lonratedt::storemap('/uploaded/'.$coursedom.'/'.$coursenum.'/'.        &Apache::lonratedt::storemap('/uploaded/'.$coursedom.'/'.$coursenum.'/'.
                                 $map,1);                                  $map,1);
       if ($errtext) { return ($errtext,2); }
       
       $hadchanges=1;
       return ($errtext,0);
 }  }
   
 # ----------------------------------------- Return hash with valid author names  # ----------------------------------------- Return hash with valid author names
Line 94  sub authorhosts { Line 97  sub authorhosts {
     } else {      } else {
  ($cd,$ca)=($realm=~/^\/(\w+)\/(\w+)$/);   ($cd,$ca)=($realm=~/^\/(\w+)\/(\w+)$/);
     }      }
     if (&Apache::lonnet::homeserver($ca,$cd) eq       my $allowed=0;
  $Apache::lonnet::perlvar{'lonHostID'}) {      my $myhome=&Apache::lonnet::homeserver($ca,$cd);
       my @ids=&Apache::lonnet::current_machine_ids();
       foreach my $id (@ids) { if ($id eq $myhome) { $allowed=1; } }
       if ($allowed) {
  $home++;   $home++;
  $outhash{'home_'.$ca.'@'.$cd}=1;   $outhash{'home_'.$ca.'@'.$cd}=1;
     } else {      } else {
  $outhash{'otherhome_'.$ca.'@'.$cd}=   $outhash{'otherhome_'.$ca.'@'.$cd}=$myhome;
     &Apache::lonnet::homeserver($ca,$cd);  
  $other++;   $other++;
     }      }
  }   }
Line 250  sub group_import { Line 255  sub group_import {
  join ':', ($name, $url, $ext, 'normal', 'res');   join ':', ($name, $url, $ext, 'normal', 'res');
  }   }
     }      }
     &storemap($coursenum, $coursedom, $folder.'.sequence');      return &storemap($coursenum, $coursedom, $folder.'.sequence');
 }  }
   
 sub editor {  sub editor {
Line 295  sub editor { Line 300  sub editor {
                   $comment.':'.$url.':'.$ext.':normal:res';                    $comment.':'.$url.':'.$ext.':normal:res';
               $Apache::lonratedt::order[$#Apache::lonratedt::order+1]=                $Apache::lonratedt::order[$#Apache::lonratedt::order+1]=
                                                               $newidx;                                                                       $newidx;       
        &storemap($coursenum,$coursedom,$folder.'.sequence');  
         ($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.sequence');
         if ($fatal) {
     $r->print('<p><font color="red">'.$errtext.'</font></p>');
     return;
         }
      }       }
             }              }
     if ($ENV{'form.cmd'}) {      if ($ENV{'form.cmd'}) {
Line 335  sub editor { Line 345  sub editor {
                                           
                 }                  }
 # Store the changed version  # Store the changed version
  &storemap($coursenum,$coursedom,$folder.'.sequence');   ($errtext,$fatal)=&storemap($coursenum,$coursedom,
       $folder.'.sequence');
    if ($fatal) {
       $r->print('<p><font color="red">'.$errtext.'</font></p>');
       return;
    }
             }              }
 # Group import/search  # Group import/search
     if ($ENV{'form.importdetail'}) {      if ($ENV{'form.importdetail'}) {
Line 349  sub editor { Line 364  sub editor {
     }      }
  }   }
 # Store the changed version  # Store the changed version
  group_import($coursenum, $coursedom, $folder, @imports);   ($errtext,$fatal)=group_import($coursenum, $coursedom, $folder,
          @imports);
    if ($fatal) {
       $r->print('<p><font color="red">'.$errtext.'</font></p>');
       return;
    }
             }              }
 # Loading a complete map  # Loading a complete map
    if (($ENV{'form.importmap'}) && ($ENV{'form.loadmap'})) {     if (($ENV{'form.importmap'}) && ($ENV{'form.loadmap'})) {
               foreach         foreach (&Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$ENV{'form.importmap'}))) {
 (&Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$ENV{'form.importmap'}))) {  
                    my $idx=$#Apache::lonratedt::resources;                     my $idx=$#Apache::lonratedt::resources;
                    $idx++;                     $idx++;
                    $Apache::lonratedt::resources[$idx]=$_;                     $Apache::lonratedt::resources[$idx]=$_;
                    $Apache::lonratedt::order                     $Apache::lonratedt::order
                             [$#Apache::lonratedt::order+1]=$idx;         [$#Apache::lonratedt::order+1]=$idx;
                 }         }
   
 # Store the changed version  # Store the changed version
  &storemap($coursenum,$coursedom,$folder.'.sequence');         ($errtext,$fatal)=&storemap($coursenum,$coursedom,
      $folder.'.sequence');
          if ($fatal) {
      $r->print('<p><font color="red">'.$errtext.'</font></p>');
      return;
          }
            }             }
        }         }
 # ---------------------------------------------------------------- End commands  # ---------------------------------------------------------------- End commands
Line 373  sub editor { Line 397  sub editor {
         foreach (@Apache::lonratedt::order) {          foreach (@Apache::lonratedt::order) {
            my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]);             my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]);
            unless ($name) {  $name=(split(/\//,$url))[-1]; }             unless ($name) {  $name=(split(/\//,$url))[-1]; }
            unless ($name) { $name='NO RESOURCE'; $url='/adm/notfound.html'; }             unless ($name) { next; }
            $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_));             $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_));
            $idx++;             $idx++;
         }          }
Line 425  END Line 449  END
 # Figure out what kind of a resource this is  # Figure out what kind of a resource this is
     my ($extension)=($url=~/\.(\w+)$/);      my ($extension)=($url=~/\.(\w+)$/);
     my $uploaded=($url=~/^\/*uploaded\//);      my $uploaded=($url=~/^\/*uploaded\//);
     my $icon='unknown';      my $icon=&Apache::loncommon::icon($url);
     if (-e "/home/httpd/html/adm/lonIcons/$extension.gif") {  
  $icon=$extension;  
     }  
     my $isfolder=0;      my $isfolder=0;
     if ($uploaded) {      if ($uploaded) {
        if ($extension eq 'sequence') {         if ($extension eq 'sequence') {
   $icon='folder_closed';    $icon=$iconpath.'/folder_closed.gif';
           $url=~/\/(\w+)\.sequence/;            $url=~/\/(\w+)\.sequence/;
           $url='/adm/coursedocs?folder='.$1;            $url='/adm/coursedocs?folder='.$1;
           $isfolder=1;            $isfolder=1;
Line 454  END Line 475  END
     if ($isfolder) { $url.='&foldername='.      if ($isfolder) { $url.='&foldername='.
        &Apache::lonnet::escape($foldertitle); }         &Apache::lonnet::escape($foldertitle); }
     $line.='<td bgcolor="#FFFFBB"><a href="'.$url.'" target="cat_'.$folder.      $line.='<td bgcolor="#FFFFBB"><a href="'.$url.'" target="cat_'.$folder.
 '"><img src="/adm/lonIcons/'.   '"><img src="'.$icon.'" border="0"></a></td>'.
         $icon.'.gif" border="0"></a></td>'.  
         "<td bgcolor='#FFFFBB'><a href='$url' target='cat_$folder'>$title</a></td></tr>";          "<td bgcolor='#FFFFBB'><a href='$url' target='cat_$folder'>$title</a></td></tr>";
     return $line;      return $line;
 }  }
Line 510  sub checkonthis { Line 530  sub checkonthis {
                  &Apache::lonxml::xmlparse($r,'web',                   &Apache::lonxml::xmlparse($r,'web',
                    &Apache::lonnet::getfile(                     &Apache::lonnet::getfile(
                     &Apache::lonnet::filelocation('',$url)));                      &Apache::lonnet::filelocation('',$url)));
    undef($Apache::lonhomework::parsing_a_problem);
  $ENV{'request.filename'}=$oldpath;   $ENV{'request.filename'}=$oldpath;
                  if (($Apache::lonxml::errorcount) ||                   if (($Apache::lonxml::errorcount) ||
                      ($Apache::lonxml::warningcount)) {                       ($Apache::lonxml::warningcount)) {
      if ($Apache::lonxml::errorcount) {       if ($Apache::lonxml::errorcount) {
                         $r->print('<font color="red"><b>'.                          $r->print('<img src="/adm/lonMisc/bomb.gif" /><font color="red"><b>'.
   $Apache::lonxml::errorcount.' '.    $Apache::lonxml::errorcount.' '.
   &mt('error(s)').'</b></font> ');    &mt('error(s)').'</b></font> ');
                      }                       }
Line 538  sub checkonthis { Line 559  sub checkonthis {
           } elsif ($result==HTTP_SERVICE_UNAVAILABLE) {            } elsif ($result==HTTP_SERVICE_UNAVAILABLE) {
              $r->print('<font color="red"><b>'.&mt('connection down').'</b></font>');               $r->print('<font color="red"><b>'.&mt('connection down').'</b></font>');
           } elsif ($result==HTTP_NOT_FOUND) {            } elsif ($result==HTTP_NOT_FOUND) {
              $r->print('<font color="red"><b>'.&mt('not found').'</b></font>');        unless ($url=~/\$/) {
     $r->print('<font color="red"><b>'.&mt('not found').'</b></font>');
         } else {
     $r->print('<font color="yellow"><b>'.&mt('unable to verify variable URL').'</b></font>');
         }
           } else {            } else {
              $r->print('<font color="red"><b>'.&mt('access denied').'</b></font>');               $r->print('<font color="red"><b>'.&mt('access denied').'</b></font>');
           }            }
Line 576  sub checkversions { Line 601  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;  
     &tiehash();  
     my $header='';      my $header='';
     my $startsel='';      my $startsel='';
     my $monthsel='';      my $monthsel='';
Line 586  sub checkversions { Line 609  sub checkversions {
     my $allsel='';      my $allsel='';
     my %changes=();      my %changes=();
     my $starttime=0;      my $starttime=0;
       my $haschanged=0;
       my %setversions=&Apache::lonnet::dump('resourceversions',
     $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
     $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
   
       $hashtied=0;
       &tiehash();
       my %newsetversions=();
       if ($ENV{'form.setmostrecent'}) {
    $haschanged=1;
    foreach (keys %hash) {
       if ($_=~/^ids\_(\/res\/.+)$/) {
    $newsetversions{$1}='mostrecent';
       }
    }
       } elsif ($ENV{'form.setcurrent'}) {
    $haschanged=1;
    foreach (keys %hash) {
       if ($_=~/^ids\_(\/res\/.+)$/) {
    my $getvers=&Apache::lonnet::getversion($1);
    if ($getvers>0) {
       $newsetversions{$1}=$getvers;
    }
       }
    }
       } elsif ($ENV{'form.setversions'}) {
    $haschanged=1;
    foreach (keys %ENV) {
       if ($_=~/^form\.set_version_(.+)$/) {
    my $src=$1;
    &Apache::lonnet::logthis('Found: '.$1.' '.$ENV{$_});
    if (($ENV{$_}) && ($ENV{$_} ne $setversions{$src})) {
       $newsetversions{$src}=$ENV{$_};
    }
       }
    }
       }
       if ($haschanged) {
           if (&Apache::lonnet::put('resourceversions',\%newsetversions,
     $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
     $ENV{'course.'.$ENV{'request.course.id'}.'.num'}) eq 'ok') {
       $r->print('<h1>'.&mt('Your Version Settings have been Stored').'</h1>');
    } else {
       $r->print('<h1><font color="red">'.&mt('An Error Occured while Attempting to Store your Version Settings').'</font></h1>');
    }
    &changewarning($r,'');
       }
     if ($ENV{'form.timerange'} eq 'all') {      if ($ENV{'form.timerange'} eq 'all') {
 # show all documents  # show all documents
  $header=&mt('All Documents in Course');   $header=&mt('All Documents in Course');
    $allsel=1;
  foreach (keys %hash) {   foreach (keys %hash) {
     if ($_=~/^ids\_(\/res\/.+)$/) {      if ($_=~/^ids\_(\/res\/.+)$/) {
  my $src=$1;   my $src=$1;
Line 628  sub checkversions { Line 699  sub checkversions {
     $header=&mt('No content modifications yet.');      $header=&mt('No content modifications yet.');
  }   }
     }      }
       %setversions=&Apache::lonnet::dump('resourceversions',
     $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
     $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
     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 (possibly large output)',
        'sd' => 'Display',         'sd' => 'Display',
        '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',
   'sv' => 'Set Versions to be used in Course according to Selections below',
   'sm' => 'Keep all Resources up-to-date with most recent Versions (default)',
   'sc' => 'Set all Resource Versions to current Version (Fix Versions)',
        'di' => 'Differences');         'di' => 'Differences');
     $r->print(<<ENDHEADERS);      $r->print(<<ENDHEADERS);
 <form action="/adm/coursedocs" method="post">  <form action="/adm/coursedocs" method="post">
   <input type="hidden" name="versions" value="1" />
   <input type="submit" name="setmostrecent" value="$lt{'sm'}" />
   <input type="submit" name="setcurrent" value="$lt{'sc'}" /><hr />
 <select name="timerange">  <select name="timerange">
 <option value='all' $allsel>$lt{'al'}</option>  <option value='all' $allsel>$lt{'al'}</option>
 <option value="-1" $startsel>$lt{'st'}</option>  <option value="-1" $startsel>$lt{'st'}</option>
Line 650  sub checkversions { Line 730  sub checkversions {
 <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{'sd'}" />  <input type="submit" name="display" value="$lt{'sd'}" />
 </form>  
 <h3>$header</h3>  <h3>$header</h3>
 <table border="2">  <input type="submit" name="setversions" value="$lt{'sv'}" />
 <tr>  <table border="0">
 <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>  
 ENDHEADERS  ENDHEADERS
     foreach (keys %changes) {      foreach (sort 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($_);
       if ($currentversion<0) {
    $currentversion=&mt('Could not be determined.');
       }
     my $linkurl=&Apache::lonnet::clutter($_);      my $linkurl=&Apache::lonnet::clutter($_);
     $r->print(      $r->print(
       '<tr><td><a href="'.$linkurl.'" target="cat">'.$linkurl.        '<tr><td colspan="5"><br /><br /><font size="+1"><b>'.
       '</a></td><td>'.        &Apache::lonnet::gettitle($linkurl).
       &Apache::lonlocal::locallocaltime($changes{$_}).                        '</b></font></td></tr>'.
                       '</td><td><font size="+2">'.                        '<tr><td>&nbsp;&nbsp;&nbsp;</td>'.
       $currentversion.'</font></td><td><font size="+2">');                        '<td colspan="4">'.
                         '<a href="'.$linkurl.'" target="cat">'.$linkurl.
         '</a></td></tr>'.
                         '<tr><td></td>'.
                         '<td title="'.$lt{'md'}.'">'.
         &Apache::lonlocal::locallocaltime(
                              &Apache::lonnet::metadata($root.'.'.$extension,
                                                        'lastrevisiondate')
                                                           ).
                         '</td>'.
                         '<td title="'.$lt{'mr'}.'"><nobr>Most Recent: '.
                         '<font size="+1">'.$currentversion.'</font>'.
                         '</nobr></td>'.
                         '<td title="'.$lt{'ve'}.'"><nobr>In Course: '.
                         '<font size="+1">');
 # Used in course  # Used in course
     my $usedversion=$hash{'version_'.$linkurl};      my $usedversion=$hash{'version_'.$linkurl};
     if ($usedversion) {      if (($usedversion) && ($usedversion ne 'mostrecent')) {
  $r->print($usedversion);   $r->print($usedversion);
     } else {      } else {
  $r->print($currentversion);   $r->print($currentversion);
     }      }
     $r->print('</font></td><td>');      $r->print('</font></nobr></td><td title="'.$lt{'vu'}.'">'.
                         '<nobr>Use: ');
 # Set version  # Set version
     $r->print(&Apache::loncommon::select_form($usedversion,      $r->print(&Apache::loncommon::select_form($setversions{$linkurl},
       'set_version_'.$linkurl,        'set_version_'.$linkurl,
       ('' => '',        ('' => '',
        'current' => 'current',         'mostrecent' => 'most recent',
        map {$_,$_} (1..$currentversion))));         map {$_,$_} (1..$currentversion))));
     $r->print('</td><td>');      $r->print('</nobr></td></tr><tr><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;
Line 692  ENDHEADERS Line 787  ENDHEADERS
     $lastold=$prevvers;      $lastold=$prevvers;
  }   }
     }      }
               # 
               # Code to figure out how many version entries should go in
               # each of the four columns
               my $entries_per_col = 0;
               my $num_entries = ($currentversion-$lastold);
               if ($num_entries % 4 == 0) {
                   $entries_per_col = $num_entries/4;
               } else {
                   $entries_per_col = $num_entries/4 + 1;
               }
               my $entries_count = 0;
               $r->print('<td valign="top"><font size="-2">'); 
               my $cols_output = 1;
             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('<nobr><a href="'.&Apache::lonnet::clutter($url).
   '">'.&mt('Version').' '.$prevvers.' ('.    '">'.&mt('Version').' '.$prevvers.'</a> ('.
   &Apache::lonlocal::locallocaltime(&Apache::lonnet::metadata($url,'lastrevisiondate')).    &Apache::lonlocal::locallocaltime(
   ')</a>');                                  &Apache::lonnet::metadata($url,
                                                             'lastrevisiondate')
                                                               ).
     ')');
  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('</nobr><br />');
                   if (++$entries_count % $entries_per_col == 0) {
                       $r->print('</font></td>');
                       if ($cols_output != 4) {
                           $r->print('<td valign="top"><font size="-2">');
                           $cols_output++;
                       }
                   }
     }      }
     $r->print('</td></tr>');              while($cols_output++ < 4) {
                   $r->print('</font></td><td><font>')
               }
       $r->print('</font></td></tr>'."\n");
  }   }
     }      }
     $r->print('</table>');      $r->print('</table></form>');
     $r->print('<h1>'.&mt('Done').'.</h1>');      $r->print('<h1>'.&mt('Done').'.</h1>');
   
     &untiehash();      &untiehash();
 }  }
   
   sub changewarning {
       my ($r,$postexec)=@_;
       $r->print(
   '<script>function reinit(tf) { tf.submit();'.$postexec.' }</script>'. 
   '<form method="post" action="/adm/roles" target="loncapaclient">'.
   '<input type="hidden" name="orgurl" value="/adm/coursedocs" /><input type="hidden" name="selectrole" value="1" /><h3><font color="red">'.
   &mt('Changes will become active for your current session after').
   ' <input type="hidden" name="'.
   $ENV{'request.role'}.'" value="1" /><input type="button" value="'.
   &mt('re-initializing course').'" onClick="reinit(this.form)"/>'.&mt(', or the next time you log in.').
   $help{'Caching'}.'</font></h3></form>');
   }
   
 # ================================================================ Main Handler  # ================================================================ Main Handler
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
Line 722  sub handler { Line 856  sub handler {
     $r->send_http_header;      $r->send_http_header;
     return OK if $r->header_only;      return OK if $r->header_only;
   
     &Apache::lonlocal::clearreroutetrans();  
 # --------------------------------------------- Initialize help topics for this  # --------------------------------------------- Initialize help topics for this
   foreach ('Adding_Course_Doc','Main_Course_Documents',    foreach ('Adding_Course_Doc','Main_Course_Documents',
            'Adding_External_Resource','Navigate_Content',             'Adding_External_Resource','Navigate_Content',
Line 860  function makebulboard() { Line 993  function makebulboard() {
    }     }
 }  }
   
   function makeabout() {
      var user=prompt("Enter user\@domain for User's 'About Me' Page");
      if (user) {
          var comp=new Array();
          comp=user.split('\@');
          if ((typeof(comp[0])!=undefined) && (typeof(comp[1])!=undefined)) {
      if ((comp[0]) && (comp[1])) {
          this.document.forms.newaboutsomeone.importdetail.value=
      'About '+user+'=/adm/'+comp[1]+'/'+comp[0]+'/aboutme';
          this.document.forms.newaboutsomeone.submit();
      }
          }
      }
   }
   
 function finishpick() {  function finishpick() {
     var title=this.document.forms.extimport.title.value;      var title=this.document.forms.extimport.title.value;
     var url=this.document.forms.extimport.url.value;      var url=this.document.forms.extimport.url.value;
Line 880  function changename(folder,index,oldtitl Line 1028  function changename(folder,index,oldtitl
 }  }
   
 function removeres(folder,index,oldtitle) {  function removeres(folder,index,oldtitle) {
     if ((oldtitle=='NO RESOURCE') || (confirm('Remove "'+oldtitle+'"?'))) {      if (confirm('Remove "'+oldtitle+'"?')) {
  this.document.forms.renameform.cmd.value='del_'+index;   this.document.forms.renameform.cmd.value='del_'+index;
  this.document.forms.renameform.folder.value=folder;   this.document.forms.renameform.folder.value=folder;
         this.document.forms.renameform.submit();          this.document.forms.renameform.submit();
Line 893  ENDNEWSCRIPT Line 1041  ENDNEWSCRIPT
 # -------------------------------------------------------------------- Body tag  # -------------------------------------------------------------------- Body tag
   $r->print('</head>'.    $r->print('</head>'.
             &Apache::loncommon::bodytag('Course Documents','',$events,              &Apache::loncommon::bodytag('Course Documents','',$events,
  '','',$showdoc));   '','',$showdoc).
       &Apache::loncommon::help_open_faq(273).
       &Apache::loncommon::help_open_bug('RAT'));
   unless ($showdoc) {    unless ($showdoc) {
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
        my %lt=&Apache::lonlocal::texthash(         my %lt=&Apache::lonlocal::texthash(
Line 914  ENDNEWSCRIPT Line 1064  ENDNEWSCRIPT
                 'sipr' => 'Simple Problem',                  'sipr' => 'Simple Problem',
                 'scuf' => 'Score Upload Form',                  'scuf' => 'Score Upload Form',
                 'bull' => 'Bulletin Board',                  'bull' => 'Bulletin Board',
                 'mypi' => 'My Personal Info'                  'mypi' => 'My Personal Info',
    'abou' => 'About User',
                   'file' =>  'File',
                   'title' => 'Title',
                   'comment' => 'Comment' 
   );    );
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
     if ($allowed) {      if ($allowed) {
Line 944  $dumpbut Line 1098  $dumpbut
 </form>  </form>
 ENDCOURSEVERIFY  ENDCOURSEVERIFY
        $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc',         $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc',
      'Editing the Table of Contents for your Course'));       &mt('Editing the Table of Contents for your Course')));
     }      }
 # --------------------------------------------------------- Standard documents  # --------------------------------------------------------- Standard documents
     $r->print('<table border=2 cellspacing=4 cellpadding=4>');      $r->print('<table border=2 cellspacing=4 cellpadding=4>');
Line 962  ENDCOURSEVERIFY Line 1116  ENDCOURSEVERIFY
        $hadchanges=0;         $hadchanges=0;
        &editor($r,$coursenum,$coursedom,$folder,$allowed);         &editor($r,$coursenum,$coursedom,$folder,$allowed);
        if ($hadchanges) {         if ($hadchanges) {
    $r->print(     &changewarning($r,$postexec);
 '<script>function reinit(tf) { tf.submit();'.$postexec.' }</script>'.   
 '<form method="post" action="/adm/roles" target="loncapaclient">'.  
 '<input type="hidden" name="orgurl" value="/adm/coursedocs" /><input type="hidden" name="selectrole" value="1" /><h3><font color="red">'.  
 &mt('Changes will become active for your current session after').  
 ' <input type="hidden" name="'.  
 $ENV{'request.role'}.'" value="1" /><input type="button" value="'.  
 &mt('re-initializing course').'" onClick="reinit(this.form)"/>'.&mt(', or the next time you log in.').  
 $help{'Caching'}.'</font></h3></form>');  
        }         }
        my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.         my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
                      '.sequence';                       '.sequence';
Line 981  $help{'Caching'}.'</font></h3></form>'); Line 1127  $help{'Caching'}.'</font></h3></form>');
 <th bgcolor="#DDDDDD">$lt{'spec'}</th>  <th bgcolor="#DDDDDD">$lt{'spec'}</th>
 </tr>  </tr>
 <tr><td bgcolor="#DDDDDD">  <tr><td bgcolor="#DDDDDD">
 File:<br />  $lt{'file'}:<br />
 <form action="/adm/coursedocs" method="post" enctype="multipart/form-data">  <form action="/adm/coursedocs" method="post" enctype="multipart/form-data">
 <input type="file" name="uploaddoc" size="40">  <input type="file" name="uploaddoc" size="40">
 <br />  <br />
 Title:<br />  $lt{'title'}:<br />
 <input type="text" size="50" name="comment">  <input type="text" size="50" name="comment">
 <input type="hidden" name="folder" value="$folder">  <input type="hidden" name="folder" value="$folder">
 <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">  <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">
Line 1104  value="$plainname=/adm/$udom/$uname/abou Line 1250  value="$plainname=/adm/$udom/$uname/abou
 $help{'My Personal Info'}  $help{'My Personal Info'}
 </nobr>  </nobr>
 </form>  </form>
   <form action="/adm/coursedocs" method="post" name="newaboutsomeone">
   <input type="hidden" name="folder" value="$folder">
   <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">
   <input type=hidden name="importdetail" value="">
   <nobr>
   <input name="newaboutsomeone" type="button" value="$lt{'abou'}" 
   onClick="javascript:makeabout();" />
   </nobr>
   </form>
 </td></tr>  </td></tr>
 </table>  </table>
 ENDFORM  ENDFORM
Line 1125  ENDFORM Line 1280  ENDFORM
           $r->print(<<ENDSUPFORM);            $r->print(<<ENDSUPFORM);
 <table cellspacing=4 cellpadding=4><tr>  <table cellspacing=4 cellpadding=4><tr>
 <th bgcolor="#DDDDDD">$lt{'upls'}</th>  <th bgcolor="#DDDDDD">$lt{'upls'}</th>
 <th bgcolor="#DDDDDD">$lt{'impp'}</th>  
 <th bgcolor="#DDDDDD">$lt{'spec'}</th>  <th bgcolor="#DDDDDD">$lt{'spec'}</th>
 </tr>  </tr>
 <tr><td bgcolor="#DDDDDD">  <tr><td bgcolor="#DDDDDD">
 <form action="/adm/coursedocs" method="post" enctype="multipart/form-data">  <form action="/adm/coursedocs" method="post" enctype="multipart/form-data">
 <input type="file" name="uploaddoc" size="40">  <input type="file" name="uploaddoc" size="40">
 <br />Comment:<br />  <br />$lt{'comment'}:<br />
 <textarea cols=50 rows=4 name='comment'>  <textarea cols=50 rows=4 name='comment'>
 </textarea>  </textarea>
 <input type="hidden" name="folder" value="$folder">  <input type="hidden" name="folder" value="$folder">
Line 1144  ENDFORM Line 1298  ENDFORM
 </form>  </form>
 </td>  </td>
 <td bgcolor="#DDDDDD">  <td bgcolor="#DDDDDD">
 <form action="/adm/coursedocs" method="post" name="simpleeditsupplement">  
 <input type="hidden" name="folder" value="$folder">  
 <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">  
 <input type=hidden name="importdetail" value="">  
 <input type=button onClick=  
 "javascript:document.forms.simpleedit.folder.value='$folder';groupsearch()" value="$lt{'srch'}">  
 <input type=button onClick=  
 "javascript:document.forms.simpleedit.folder.value='$folder';groupimport();" value="$lt{'impo'}">$help{'Importing_LON-CAPA_Resource'}  
 <p>  
 <hr />  
 <input type="text" size="20" name="importmap">  
 <input type=button   
 onClick="javascript:openbrowser('simpleeditsupplement','importmap','sequence,page','')"  
 value="$lt{'selm'}"><input type="submit" name="loadmap" value="$lt{'load'}">$help{'Load_Map'}  
 </p>  
 </form>  
 </td><td bgcolor="#DDDDDD">  
 <form action="/adm/coursedocs" method="post" name="supnewfolder">  <form action="/adm/coursedocs" method="post" name="supnewfolder">
 <input type="hidden" name="folder" value="$folder">  <input type="hidden" name="folder" value="$folder">
 <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">  <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">
Line 1217  ENDSUPFORM Line 1354  ENDSUPFORM
          &entryline(0,&mt("Click to download or use your browser's Save Link function"),$showdoc).'</table></p>');           &entryline(0,&mt("Click to download or use your browser's Save Link function"),$showdoc).'</table></p>');
   }    }
  }   }
  $r->print(&Apache::lonlocal::endreroutetrans().'</body></html>');   $r->print('</body></html>');
  return OK;   return OK;
 }   } 
   

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


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