Diff for /loncom/interface/londocs.pm between versions 1.123 and 1.134

version 1.123, 2004/05/06 17:55:03 version 1.134, 2004/07/04 05:43:12
Line 121  sub dumpbutton { Line 121  sub dumpbutton {
     if ($home) {      if ($home) {
  return '</td><td bgcolor="#DDDDCC">'.   return '</td><td bgcolor="#DDDDCC">'.
     '<input type="submit" name="dumpcourse" value="'.      '<input type="submit" name="dumpcourse" value="'.
     &mt('Dump Course DOCS to Construction Space').'" />';      &mt('Dump Course DOCS to Construction Space').'" />'.
       &Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs');
     } else {      } else {
  return'</td><td bgcolor="#DDDDCC">'.   return'</td><td bgcolor="#DDDDCC">'.
      &mt('Dump Course DOCS to Construction Space: available on other servers');       &mt('Dump Course DOCS to Construction Space: available on other servers');
Line 156  sub dumpcourse { Line 157  sub dumpcourse {
  $crs=~s/\_/\//g;   $crs=~s/\_/\//g;
  foreach (keys %replacehash) {   foreach (keys %replacehash) {
     my $newfilename=$title.'/'.$replacehash{$_};      my $newfilename=$title.'/'.$replacehash{$_};
     $newfilename=~s/[^\w\/\.]+/\_/g;      $newfilename=~s/[^\w\/\.\/]+/\_/g;
     my @dirs=split(/\//,$newfilename);      my @dirs=split(/\//,$newfilename);
     my $path='/home/'.$ca.'/public_html';      my $path='/home/'.$ca.'/public_html';
     my $makepath=$path;      my $makepath=$path;
Line 200  sub dumpcourse { Line 201  sub dumpcourse {
     $r->print(      $r->print(
   '<input type="hidden" name="authorspace" value="'.$1.'" />');    '<input type="hidden" name="authorspace" value="'.$1.'" />');
  } else {   } else {
     $r->print('<option value="'.$1.'">'.$_.'</option>');      $r->print('<option value="'.$1.'">'.$1.' - '.
         &Apache::loncommon::plainname(split(/\@/,$1)).'</option>');
  }   }
     }      }
  }   }
Line 223  sub dumpcourse { Line 225  sub dumpcourse {
  $title=$_;   $title=$_;
     }      }
     $title=~s/\.(\w+)$//;      $title=~s/\.(\w+)$//;
     $title=~s/\W+/\_/gs;      $title=~s/[^\w\/]+/\_/gs;
     $title.='.'.$ext;      $title.='.'.$ext;
     $r->print("\n<td><input type='text' size='60' name='namefor_".$_."' value='".$title."' /></td></tr>\n");      $r->print("\n<td><input type='text' size='60' name='namefor_".$_."' value='".$title."' /></td></tr>\n");
  }   }
Line 321  sub editor { Line 323  sub editor {
     &Apache::lonratedt::delparameter($idx,'parameter_encrypturl');      &Apache::lonratedt::delparameter($idx,'parameter_encrypturl');
  }   }
   
  ($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.sequence');  
  if ($fatal) {  
     $r->print('<p><font color="red">'.$errtext.'</font></p>');  
     return;  
  }  
  if ($ENV{'form.newpos'}) {   if ($ENV{'form.newpos'}) {
 # change order  # change order
   
     my $newpos=$ENV{'form.newpos'}-1;      my $newpos=$ENV{'form.newpos'}-1;
     $r->print('Sorting '.$idx.' -> '.$newpos);      my $currentpos=$ENV{'form.currentpos'}-1;
     ($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.sequence');      my $i;
     if ($fatal) {      my @neworder=();
  $r->print('<p><font color="red">'.$errtext.'</font></p>');      if ($newpos>$currentpos) {
  return;  # moving stuff up
    for ($i=0;$i<$currentpos;$i++) {
       $neworder[$i]=$Apache::lonratedt::order[$i];
    }
    for ($i=$currentpos;$i<$newpos;$i++) {
       $neworder[$i]=$Apache::lonratedt::order[$i+1];
    }
                           $neworder[$newpos]=$Apache::lonratedt::order[$currentpos];
    for ($i=$newpos+1;$i<=$#Apache::lonratedt::order;$i++) {
       $neworder[$i]=$Apache::lonratedt::order[$i];
    }
       } else {
   # moving stuff down
    for ($i=0;$i<$newpos;$i++) {
       $neworder[$i]=$Apache::lonratedt::order[$i];
    }
    $neworder[$newpos]=$Apache::lonratedt::order[$currentpos];
    for ($i=$newpos+1;$i<$currentpos+1;$i++) {
       $neworder[$i]=$Apache::lonratedt::order[$i-1];
    }
    for ($i=$currentpos+1;$i<=$#Apache::lonratedt::order;$i++) {
       $neworder[$i]=$Apache::lonratedt::order[$i];
    }
     }      }
       @Apache::lonratedt::order=@neworder;
  }   }
          # store the changed version
   
    ($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.sequence');
    if ($fatal) {
       $r->print('<p><font color="red">'.$errtext.'</font></p>');
       return;
    }
   
     }      }
   
 # upload a file, if present  # upload a file, if present
            if (($ENV{'form.uploaddoc.filename'}) &&             if (($ENV{'form.uploaddoc.filename'}) &&
                ($ENV{'form.cmd'}=~/^upload_(\w+)/)) {                 ($ENV{'form.cmd'}=~/^upload_(\w+)/)) {
     if ( ($folder=~/^$1/) || ($1 eq 'default') ) {      if ( ($folder=~/^$1/) || ($1 eq 'default') ) {
 # this is for a course, not a user, so set coursedoc flag  # this is for a course, not a user, so set coursedoc flag
 # probably the only place in the system where this should be "1"  # probably the only place in the system where this should be "1"
       my $url=&Apache::lonnet::userfileupload('uploaddoc',1);        my $url=&Apache::lonnet::userfileupload('uploaddoc',1,'docs');
               my $ext='false';                my $ext='false';
               if ($url=~/^http\:\/\//) { $ext='true'; }                if ($url=~/^http\:\/\//) { $ext='true'; }
               $url=~s/\:/\&colon;/g;                $url=~s/\:/\&colon;/g;
Line 375  sub editor { Line 401  sub editor {
     if ($ENV{'form.cmd'}) {      if ($ENV{'form.cmd'}) {
                 my ($cmd,$idx)=split(/\_/,$ENV{'form.cmd'});                  my ($cmd,$idx)=split(/\_/,$ENV{'form.cmd'});
                 if ($cmd eq 'del') {                  if ($cmd eq 'del') {
       my (undef,$url)=split(':',$Apache::lonratedt::resources[$Apache::lonratedt::order[$idx]]);
       if ($url=~m|/+uploaded/\Q$coursedom\E/\Q$coursenum\E/|) {
    &Apache::lonnet::removeuploadedurl($url);
       }
     for (my $i=$idx;$i<$#Apache::lonratedt::order;$i++) {      for (my $i=$idx;$i<$#Apache::lonratedt::order;$i++) {
                         $Apache::lonratedt::order[$i]=                          $Apache::lonratedt::order[$i]=
                           $Apache::lonratedt::order[$i+1];                            $Apache::lonratedt::order[$i+1];
Line 465  sub editor { Line 495  sub editor {
            $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum));             $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum));
            $idx++;             $idx++;
         }          }
    unless ($idx) {
       $r->print('<tr><td>'.&mt('Currently no documents.').'</td></tr>');
    }
         $r->print('</table>');          $r->print('</table>');
     }      }
 }  }
Line 499  sub entryline { Line 532  sub entryline {
  my $selectbox='';   my $selectbox='';
  if ($folder!~/^supplemental/) {   if ($folder!~/^supplemental/) {
     $selectbox=      $selectbox=
    '<input type="hidden" name="currentpos" value="'.$incindex.'" />'.
  '<select name="newpos" onChange="this.form.submit()">';   '<select name="newpos" onChange="this.form.submit()">';
     for (my $i=1;$i<=$#Apache::lonratedt::order+1;$i++) {      for (my $i=1;$i<=$#Apache::lonratedt::order+1;$i++) {
  if ($i==$incindex) {   if ($i==$incindex) {
Line 560  END Line 594  END
    &Apache::lonnet::declutter($url));     &Apache::lonnet::declutter($url));
  (undef,undef,$url)=&Apache::lonnet::decode_symb($symb);   (undef,undef,$url)=&Apache::lonnet::decode_symb($symb);
  $url=&Apache::lonnet::clutter($url);   $url=&Apache::lonnet::clutter($url);
    if ($url=~/^\/*uploaded\//) {
       $url=~/\.(\w+)$/;
       my $embstyle=&Apache::loncommon::fileembstyle($1);
       if (($embstyle eq 'img') || ($embstyle eq 'emb')) {
    $url='/adm/wrapper'.$url;
       } elsif ($embstyle eq 'ssi') {
    #do nothing with these
       } elsif ($url!~/\.(sequence|page)$/) {
    $url='/adm/coursedocs/showdoc'.$url;
       }
    }
  $url.=(($url=~/\?/)?'&':'?').'symb='.&Apache::lonnet::escape($symb);   $url.=(($url=~/\?/)?'&':'?').'symb='.&Apache::lonnet::escape($symb);
     }      }
     my $parameterset='&nbsp;';      my $parameterset='&nbsp;';
Line 983  sub handler { Line 1028  sub handler {
            'Adding_External_Resource','Navigate_Content',             'Adding_External_Resource','Navigate_Content',
            'Adding_Folders','Docs_Overview', 'Load_Map',             'Adding_Folders','Docs_Overview', 'Load_Map',
            'Supplemental', 'Score_Upload_Form',             'Supplemental', 'Score_Upload_Form',
            'Importing_LON-CAPA_Resource','Uploading_From_Harddrive') {             'Importing_LON-CAPA_Resource','Uploading_From_Harddrive',
      'Check_Resource_Versions','Verify_Content') {
       $help{$_}=&Apache::loncommon::help_open_topic('Docs_'.$_);        $help{$_}=&Apache::loncommon::help_open_topic('Docs_'.$_);
   }    }
     # Composite help files      # Composite help files
Line 1023  sub handler { Line 1069  sub handler {
  $ENV{'form.folder'}=pop(@folderpath);   $ENV{'form.folder'}=pop(@folderpath);
     }       } 
     if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) {      if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) {
        $showdoc=$1;         $showdoc='/'.$1;
     }      }
     unless ($showdoc) { # got called from remote      unless ($showdoc) { # got called from remote
        $forcestandard=($ENV{'form.folder'}=~/^default_/);         $forcestandard=($ENV{'form.folder'}=~/^default_/);
Line 1178  ENDNEWSCRIPT Line 1224  ENDNEWSCRIPT
   $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_menu('','','','',273,'RAT'));
     &Apache::loncommon::help_open_bug('RAT'));  
   unless ($showdoc) {    unless ($showdoc) {
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
        my %lt=&Apache::lonlocal::texthash(         my %lt=&Apache::lonlocal::texthash(
Line 1236  ENDNEWSCRIPT Line 1281  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="$lt{'vc'}" />  <input type="submit" name="verify" value="$lt{'vc'}" />$help{'Verify_Content'}
 </td><td bgcolor="#DDDDCC">  </td><td bgcolor="#DDDDCC">
 <input type="submit" name="versions" value="$lt{'cv'}" />      <input type="submit" name="versions" value="$lt{'cv'}" />$help{'Check_Resource_Versions'}
 $dumpbut  $dumpbut
 </td></tr></table>  </td></tr></table>
 </form>  </form>
Line 1285  $lt{'title'}:<br /> Line 1330  $lt{'title'}:<br />
 <input type="text" size="50" name="comment">  <input type="text" size="50" name="comment">
 <input type="hidden" name="folderpath" value="$ENV{'form.folderpath'}" />  <input type="hidden" name="folderpath" value="$ENV{'form.folderpath'}" />
 <input type="hidden" name="cmd" value="upload_default">  <input type="hidden" name="cmd" value="upload_default">
 <input type="submit" value="$lt{'upld'}">  
 <nobr>  <nobr>
   <input type="submit" value="$lt{'upld'}">
  $help{'Uploading_From_Harddrive'}   $help{'Uploading_From_Harddrive'}
 </nobr>  </nobr>
 </form>  </form>

Removed from v.1.123  
changed lines
  Added in v.1.134


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