Diff for /loncom/interface/londocs.pm between versions 1.75 and 1.85

version 1.75, 2003/09/08 19:21:10 version 1.85, 2003/10/04 20:49:40
Line 38  use Apache::lonxml; Line 38  use Apache::lonxml;
 use Apache::loncreatecourse;  use Apache::loncreatecourse;
 use HTML::Entities;  use HTML::Entities;
 use GDBM_File;  use GDBM_File;
   use Apache::lonlocal;
   
 my $iconpath;  my $iconpath;
   
Line 114  sub dumpbutton { Line 115  sub dumpbutton {
     my $output='</td><td bgcolor="#DDDDCC">';      my $output='</td><td bgcolor="#DDDDCC">';
     if ($home) {      if ($home) {
  return '</td><td bgcolor="#DDDDCC">'.   return '</td><td bgcolor="#DDDDCC">'.
     '<input type="submit" name="dumpcourse" value="Dump Course DOCS to Construction Space" />';      '<input type="submit" name="dumpcourse" value="'.
       &mt('Dump Course DOCS to Construction Space').'" />';
     } else {      } else {
  return'</td><td bgcolor="#DDDDCC">'.   return'</td><td bgcolor="#DDDDCC">'.
       'Dump Course DOCS to Construction Space: available on other servers';       &mt('Dump Course DOCS to Construction Space: available on other servers');
     }      }
 }  }
   
Line 126  sub dumpbutton { Line 128  sub dumpbutton {
 sub dumpcourse {  sub dumpcourse {
     my $r=shift;      my $r=shift;
     $r->print('<html><head><title>Dump DOCS</title></head>'.      $r->print('<html><head><title>Dump DOCS</title></head>'.
         &Apache::loncommon::bodytag('Dump Course DOCS to Construction Space'));          &Apache::loncommon::bodytag('Dump Course DOCS to Construction Space').
         '<form name="dumpdoc" method="post">');
     my ($home,$other,%outhash)=&authorhosts();      my ($home,$other,%outhash)=&authorhosts();
     unless ($home) { return ''; }      unless ($home) { return ''; }
     if ($ENV{'form.authorspace'}) {      my $origcrsid=$ENV{'request.course.id'};
       my %origcrsdata=&Apache::lonnet::coursedescription($origcrsid);
       if (($ENV{'form.authorspace'}) && ($ENV{'form.authorfolder'}=~/\w/)) {
   # 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>');
    my $title=$ENV{'form.authorfolder'};
    $title=~s/[^\w\/]+/\_/g;
    my %replacehash=();
    foreach (keys %ENV) {
       if ($_=~/^form\.namefor\_(.+)/) {
    $replacehash{$1}=$ENV{$_};
       }
    }
    my $crs='/uploaded/'.$ENV{'request.course.id'}.'/';
    $crs=~s/\_/\//g;
    foreach (keys %replacehash) {
       my $newfilename=$title.'/'.$replacehash{$_};
       $newfilename=~s/[^\w\/\.]+/\_/g;
       my @dirs=split(/\//,$newfilename);
       my $path='/home/'.$ca.'/public_html';
       my $makepath=$path;
       my $fail=0;
       for (my $i=0;$i<$#dirs;$i++) {
    $makepath.='/'.$dirs[$i];
    unless (-e $makepath) { 
       unless(mkdir($makepath,0777)) { $fail=1; } 
    }
       }
       $r->print('<br /><tt>'.$_.'</tt> => <tt>'.$newfilename.'</tt>: ');
       if (my $fh=Apache::File->new('>'.$path.'/'.$newfilename)) {
    if ($_=~/\.(sequence|page|html|htm|xml|xhtml)$/) {
       print $fh &Apache::loncreatecourse::rewritefile(
            &Apache::loncreatecourse::readfile($ENV{'request.course.id'},$_),
        (%replacehash,$crs => '')
       );
    } else {
       print $fh
            &Apache::loncreatecourse::readfile($ENV{'request.course.id'},$_);
          }
    $fh->close();
       } else {
    $fail=1;
       }
       if ($fail) {
    $r->print('<font color="red">fail</font>');
       } else {
    $r->print('<font color="green">ok</font>');
       }
    }
       } else {
   # Input form
    unless ($home==1) {
       $r->print(
         '<h3>'.&mt('Select the Construction Space').'</h3><select name="authorspace">');
    }
    foreach (sort keys %outhash) {
       if ($_=~/^home_(.+)$/) {
    if ($home==1) {
       $r->print(
     '<input type="hidden" name="authorspace" value="'.$1.'" />');
    } else {
       $r->print('<option value="'.$1.'">'.$_.'</option>');
    }
       }
    }
    unless ($home==1) {
       $r->print('</select>');
    }
    my $title=$origcrsdata{'description'};
    $title=~s/\s+/\_/gs;
    $title=~s/\W//gs;
    $r->print('<h3>'.&mt('Folder in Construction Space').'</h3><input type="text" size="50" name="authorfolder" value="'.$title.'" /><br />');
    &tiehash();
    $r->print('<h3>'.&mt('Filenames in Construction Space').'</h3><table border="2"><tr><th>'.&mt('Internal Filename').'</th><th>'.&mt('Title').'</th><th>'.&mt('Save as ...').'</th></tr>');
    foreach (&Apache::loncreatecourse::crsdirlist($origcrsid,'userfiles')) {
       $r->print('<tr><td>'.$_.'</td>');
       my ($ext)=($_=~/\.(\w+)$/);
       my $title=$hash{'title_'.$hash{
    'ids_/uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/'.$_}};
       $r->print('<td>'.($title?$title:'&nbsp;').'</td>');
       unless ($title) {
    $title=$_;
       }
       $title=~s/\.(\w+)$//;
       $title=~s/\W+/\_/gs;
       $title.='.'.$ext;
       $r->print("\n<td><input type='text' size='60' name='namefor_".$_."' value='".$title."' /></td></tr>\n");
    }
    $r->print("</table>\n");
    &untiehash();
    $r->print(
     '<p><input type="submit" name="dumpcourse" value="'.&mt('Dump Course DOCS').'" /></p></form>');
     }      }
 }  }
   
   
 # Imports the given (name, url) resources into the course  # Imports the given (name, url) resources into the course
 # coursenum, coursedom, and folder must precede the list  # coursenum, coursedom, and folder must precede the list
 sub group_import {  sub group_import {
Line 155  sub group_import { Line 250  sub group_import {
  join ':', ($name, $url, $ext, 'normal', 'res');   join ':', ($name, $url, $ext, 'normal', 'res');
  }   }
     }      }
     &storemap($coursenum, $coursedom, $folder);      &storemap($coursenum, $coursedom, $folder.'.sequence');
 }  }
   
 sub editor {  sub editor {
Line 300  sub entryline { Line 395  sub entryline {
  ) {    ) { 
             $foldertitle=&Apache::lontexconvert::msgtexconverted($4);              $foldertitle=&Apache::lontexconvert::msgtexconverted($4);
             $renametitle=$4;              $renametitle=$4;
             $title='<i>'.localtime($1).'</i> '.              $title='<i>'.&Apache::lonlocal::locallocaltime($1).'</i> '.
                 &Apache::loncommon::plainname($2,$3).': <br>'.                  &Apache::loncommon::plainname($2,$3).': <br>'.
  $foldertitle;   $foldertitle;
  }   }
Line 405  sub checkonthis { Line 500  sub checkonthis {
                  for (my $i=0;$i<=$level*5;$i++) {                   for (my $i=0;$i<=$level*5;$i++) {
                      $r->print('&nbsp;');                       $r->print('&nbsp;');
                  }                   }
                  $r->print('- Rendering: ');                   $r->print('- '.&mt('Rendering').': ');
                  my $oldpath=$ENV{'request.filename'};                   my $oldpath=$ENV{'request.filename'};
                  $ENV{'request.filename'}=&Apache::lonnet::filelocation('',$url);                   $ENV{'request.filename'}=&Apache::lonnet::filelocation('',$url);
                  &Apache::lonxml::xmlparse($r,'web',                   &Apache::lonxml::xmlparse($r,'web',
Line 420  sub checkonthis { Line 515  sub checkonthis {
                      }                       }
      if ($Apache::lonxml::warningcount) {       if ($Apache::lonxml::warningcount) {
                         $r->print('<font color="blue">'.                          $r->print('<font color="blue">'.
   $Apache::lonxml::warningcount.' warning(s)</font>');    $Apache::lonxml::warningcount.' '.
     &mt('warning(s)').'</font>');
                      }                       }
                  } else {                   } else {
                      $r->print('<font color="green">ok</font>');                       $r->print('<font color="green">ok</font>');
Line 435  sub checkonthis { Line 531  sub checkonthis {
                  }                   }
              }               }
           } elsif ($result==HTTP_SERVICE_UNAVAILABLE) {            } elsif ($result==HTTP_SERVICE_UNAVAILABLE) {
              $r->print('<font color="red"><b>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>not found</b></font>');               $r->print('<font color="red"><b>'.&mt('not found').'</b></font>');
           } else {            } else {
              $r->print('<font color="red"><b>access denied</b></font>');               $r->print('<font color="red"><b>'.&mt('access denied').'</b></font>');
           }            }
       }        }
    }     }
Line 466  sub verifycontent { Line 562  sub verifycontent {
        }         }
    }     }
    &untiehash();     &untiehash();
    $r->print('<h1>Done.</h1>');     $r->print('<h1>'.&mt('Done').'.</h1>');
 }  }
   
 # -------------------------------------------------------------- Check Versions  # -------------------------------------------------------------- Check Versions
Line 485  sub checkversions { Line 581  sub checkversions {
        unless ($ENV{'form.timerange'}) {         unless ($ENV{'form.timerange'}) {
    $ENV{'form.timerange'}=604800;     $ENV{'form.timerange'}=604800;
        }         }
        my $seltext='during the last '.$ENV{'form.timerange'}.' seconds';         my $seltext=&mt('during the last').' '.$ENV{'form.timerange'}.' '
      .&mt('seconds');
        my $startsel='';         my $startsel='';
        my $monthsel='';         my $monthsel='';
        my $weeksel='';         my $weeksel='';
Line 497  sub checkversions { Line 594  sub checkversions {
        }         }
        my $starttime=time-$ENV{'form.timerange'};         my $starttime=time-$ENV{'form.timerange'};
        if ($ENV{'form.timerange'}==2592000) {         if ($ENV{'form.timerange'}==2592000) {
            $seltext='during the last month ('.localtime($starttime).')';             $seltext=&mt('during the last month').' ('.&Apache::lonlocal::locallocaltime($starttime).')';
            $monthsel='selected';             $monthsel='selected';
        } elsif ($ENV{'form.timerange'}==604800) {         } elsif ($ENV{'form.timerange'}==604800) {
            $seltext='during the last week ('.localtime($starttime).')';             $seltext=&mt('during the last week').' ('.&Apache::lonlocal::locallocaltime($starttime).')';
            $weeksel='selected';             $weeksel='selected';
        } elsif ($ENV{'form.timerange'}==86400) {         } elsif ($ENV{'form.timerange'}==86400) {
            $seltext='since yesterday ('.localtime($starttime).')';             $seltext=&mt('since yesterday').' ('.&Apache::lonlocal::locallocaltime($starttime).')';
            $daysel='selected';             $daysel='selected';
        }         }
          my %lt=&Apache::lonlocal::texthash
         ('st' => 'Since Start of Course',
          'lm' => 'Last Month',
          'lw' => 'Last Week',
          'sy' => 'Since Yesterday',
          'di' => 'Display',
                  'cc' => 'Content changed',
          'fi' => 'File',
          'md' => 'Modification Date',
          've' => 'Version',
          '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="-1" $startsel>Since Start of Course</option>  <option value="-1" $startsel>$lt{'st'}</option>
 <option value="2592000" $monthsel>Last Month</option>  <option value="2592000" $monthsel>$lt{'lm'}</option>
 <option value="604800" $weeksel>Last Week</option>  <option value="604800" $weeksel>$lt{'lw'}</option>
 <option value="86400" $daysel>Since Yesterday</option>  <option value="86400" $daysel>$lt{'sy'}</option>
 </select>  </select>
 <input type="submit" name="versions" value="Display" />  <input type="submit" name="versions" value="$lt{'di'}" />
 </form>  </form>
 <h3>Content changed $seltext</h3>  <h3>$lt{'cc'} $seltext</h3>
 <table border="2">  <table border="2">
 <tr>  <tr>
 <th>File</th><th>Modification Date</th>  <th>$lt{'fi'}</th><th>$lt{'md'}</th>
 <th>Version</th><th>Differences</th></tr>  <th>$lt{'ve'}</th><th>$lt{'di'}</th></tr>
 ENDHEADERS  ENDHEADERS
        foreach (keys %changes) {         foreach (keys %changes) {
   if ($changes{$_}>$starttime) {    if ($changes{$_}>$starttime) {
Line 531  ENDHEADERS Line 638  ENDHEADERS
              $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>'.
                  localtime($changes{$_}).'</td><td>'.$currentversion.'</td>'.                   &Apache::lonlocal::locallocaltime($changes{$_}).'</td><td>'.$currentversion.'</td>'.
        '<td>');         '<td>');
              my $lastold=1;               my $lastold=1;
              for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) {               for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) {
Line 544  ENDHEADERS Line 651  ENDHEADERS
             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).
                    '">Version '.$prevvers.' ('.                     '">'.&mt('Version').' '.$prevvers.' ('.
                  localtime(&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='.
Line 559  ENDHEADERS Line 666  ENDHEADERS
           }            }
        }         }
        $r->print('</table>');         $r->print('</table>');
        $r->print('<h1>Done.</h1>');         $r->print('<h1>'.&mt('Done').'.</h1>');
    } else {     } else {
        $r->print('<p>No content modifications yet.</p>');         $r->print('<p>'.&mt('No content modifications yet.').'</p>');
    }     }
    &untiehash();     &untiehash();
 }  }
Line 569  ENDHEADERS Line 676  ENDHEADERS
 # ================================================================ Main Handler  # ================================================================ Main Handler
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
     $r->content_type('text/html');      &Apache::loncommon::content_type($r,'text/html');
     $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 618  sub handler { Line 726  sub handler {
        $forcesupplement=($ENV{'form.folder'}=~/^supplemental_/);         $forcesupplement=($ENV{'form.folder'}=~/^supplemental_/);
   
 # does this user have privileges to post, etc?  # does this user have privileges to post, etc?
        $allowed=&Apache::lonnet::allowed('srm',$ENV{'request.course.id'});         $allowed=&Apache::lonnet::allowed('mdc',$ENV{'request.course.id'});
        if ($allowed) {          if ($allowed) { 
          &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cmd']);           &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cmd']);
          $script=&Apache::lonratedt::editscript('simple');            $script=&Apache::lonratedt::editscript('simple'); 
Line 743  ENDNEWSCRIPT Line 851  ENDNEWSCRIPT
             &Apache::loncommon::bodytag('Course Documents','',$events,              &Apache::loncommon::bodytag('Course Documents','',$events,
  '','',$showdoc));   '','',$showdoc));
   unless ($showdoc) {    unless ($showdoc) {
   # -----------------------------------------------------------------------------
          my %lt=&Apache::lonlocal::texthash(
                   'uplm' => 'Upload a new main course document',
                   'upls' => 'Upload a new supplemental course document',
                   'impp' => 'Import a published document',
                   'spec' => 'Special documents',
                   'upld' => 'Upload Document',
                   'srch' => 'Search',
                   'impo' => 'Import',
                   'selm' => 'Select Map',
                   'load' => 'Load Map',
                   'newf' => 'New Folder',
                   'extr' => 'External Resource',
                   'syll' => 'Syllabus',
                   'navc' => 'Navigate Contents',
                   'sipa' => 'Simple Page',
                   'sipr' => 'Simple Problem',
                   'scuf' => 'Score Upload Form',
                   'bull' => 'Bulletin Board',
                   'mypi' => 'My Personal Info'
     );
   # -----------------------------------------------------------------------------
     if ($allowed) {      if ($allowed) {
        my $dumpbut=&dumpbutton();         my $dumpbut=&dumpbutton();
        $r->print(<<ENDCOURSEVERIFY);         $r->print(<<ENDCOURSEVERIFY);
Line 771  ENDCOURSEVERIFY Line 901  ENDCOURSEVERIFY
 # --------------------------------------------------------- Standard documents  # --------------------------------------------------------- Standard documents
     $r->print('<table border=2 cellspacing=4 cellpadding=4>');      $r->print('<table border=2 cellspacing=4 cellpadding=4>');
     if (($standard) && ($allowed) && (!$forcesupplement)) {      if (($standard) && ($allowed) && (!$forcesupplement)) {
        $r->print('<tr><td bgcolor="#BBBBBB"><h2>Main Course Documents'.         $r->print('<tr><td bgcolor="#BBBBBB"><h2>'.&mt('Main Course Documents').
   ($allowed?' '.$help{'Main_Course_Documents'}:'').'</h2>');    ($allowed?' '.$help{'Main_Course_Documents'}:'').'</h2>');
        my $folder=$ENV{'form.folder'};         my $folder=$ENV{'form.folder'};
        unless ($folder=~/^default/) { $folder='default'; }         unless ($folder=~/^default/) { $folder='default'; }
Line 787  ENDCOURSEVERIFY Line 917  ENDCOURSEVERIFY
    $r->print(     $r->print(
 '<script>function reinit(tf) { tf.submit();'.$postexec.' }</script>'.   '<script>function reinit(tf) { tf.submit();'.$postexec.' }</script>'. 
 '<form method="post" action="/adm/roles" target="loncapaclient">'.  '<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">Changes will become active for your current session after <input type="hidden" name="'.  '<input type="hidden" name="orgurl" value="/adm/coursedocs" /><input type="hidden" name="selectrole" value="1" /><h3><font color="red">'.
 $ENV{'request.role'}.'" value="1" /><input type="button" value="re-initializing course" onClick="reinit(this.form)"/>, or the next time you log in.'.  &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>');  $help{'Caching'}.'</font></h3></form>');
        }         }
        my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.         my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
                      '.sequence';                       '.sequence';
   
        $r->print(<<ENDFORM);         $r->print(<<ENDFORM);
 <table cellspacing=4 cellpadding=4><tr>  <table cellspacing=4 cellpadding=4><tr>
 <th bgcolor="#DDDDDD">Upload a new main course document</th>  <th bgcolor="#DDDDDD">$lt{'uplm'}</th>
 <th bgcolor="#DDDDDD">Import a published document</th>  <th bgcolor="#DDDDDD">$lt{'impp'}</th>
 <th bgcolor="#DDDDDD">Special documents</th>  <th bgcolor="#DDDDDD">$lt{'spec'}</th>
 </tr>  </tr>
 <tr><td bgcolor="#DDDDDD">  <tr><td bgcolor="#DDDDDD">
 File:<br />  File:<br />
Line 810  Title:<br /> Line 942  Title:<br />
 <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'}">
 <input type="hidden" name="cmd" value="upload_default">  <input type="hidden" name="cmd" value="upload_default">
 <input type="submit" value="Upload Document">  <input type="submit" value="$lt{'upld'}">
 <nobr>  <nobr>
  $help{'Uploading_From_Harddrive'}   $help{'Uploading_From_Harddrive'}
 </nobr>  </nobr>
Line 821  Title:<br /> Line 953  Title:<br />
 <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'}">
 <input type=button onClick=  <input type=button onClick=
 "javascript:document.forms.simpleedit.folder.value='$folder';groupsearch()" value="Search">  "javascript:document.forms.simpleedit.folder.value='$folder';groupsearch()" value="$lt{'srch'}">
 <nobr>  <nobr>
 <input type=button onClick=  <input type=button onClick=
 "javascript:document.forms.simpleedit.folder.value='$folder';groupimport();" value="Import">  "javascript:document.forms.simpleedit.folder.value='$folder';groupimport();" value="$lt{'impo'}">
 $help{'Importing_LON-CAPA_Resource'}  $help{'Importing_LON-CAPA_Resource'}
 </nobr>  </nobr>
 <p>  <p>
Line 832  $help{'Importing_LON-CAPA_Resource'} Line 964  $help{'Importing_LON-CAPA_Resource'}
 <input type="text" size="20" name="importmap"><br />  <input type="text" size="20" name="importmap"><br />
 <nobr><input type=button   <nobr><input type=button 
 onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"  onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"
 value="Select Map"> <input type="submit" name="loadmap" value="Load Map">  value="$lt{'selm'}"> <input type="submit" name="loadmap" value="$lt{'load'}">
 $help{'Load_Map'}</nobr>  $help{'Load_Map'}</nobr>
 </p>  </p>
 </form>  </form>
Line 844  $help{'Load_Map'}</nobr> Line 976  $help{'Load_Map'}</nobr>
 <nobr>  <nobr>
 <input name="newfolder" type="button"  <input name="newfolder" type="button"
 onClick="javascript:makenewfolder(this.form,'$folderseq');"  onClick="javascript:makenewfolder(this.form,'$folderseq');"
 value="New Folder" />$help{'Adding_Folders'}  value="$lt{'newf'}" />$help{'Adding_Folders'}
 </nobr>  </nobr>
 </form>  </form>
 <form action="/adm/coursedocs" method="post" name="newext">  <form action="/adm/coursedocs" method="post" name="newext">
Line 853  value="New Folder" />$help{'Adding_Folde Line 985  value="New Folder" />$help{'Adding_Folde
 <input type=hidden name="importdetail" value="">  <input type=hidden name="importdetail" value="">
 <nobr>  <nobr>
 <input name="newext" type="button" onClick="javascript:makenewext('newext');"  <input name="newext" type="button" onClick="javascript:makenewext('newext');"
 value="External Resource" /> $help{'Adding_External_Resource'}  value="$lt{'extr'}" /> $help{'Adding_External_Resource'}
 </nobr>  </nobr>
 </form>  </form>
 <form action="/adm/coursedocs" method="post" name="newsyl">  <form action="/adm/coursedocs" method="post" name="newsyl">
Line 862  value="External Resource" /> $help{'Addi Line 994  value="External Resource" /> $help{'Addi
 <input type=hidden name="importdetail"   <input type=hidden name="importdetail" 
 value="Syllabus=/public/$coursedom/$coursenum/syllabus">  value="Syllabus=/public/$coursedom/$coursenum/syllabus">
 <nobr>  <nobr>
 <input name="newsyl" type="submit" value="Syllabus" />   <input name="newsyl" type="submit" value="$lt{'syll'}" /> 
  $help{'Syllabus'}   $help{'Syllabus'}
 </nobr>  </nobr>
 </form>  </form>
Line 872  value="Syllabus=/public/$coursedom/$cour Line 1004  value="Syllabus=/public/$coursedom/$cour
 <input type=hidden name="importdetail"   <input type=hidden name="importdetail" 
 value="Navigate Content=/adm/navmaps">  value="Navigate Content=/adm/navmaps">
 <nobr>  <nobr>
 <input name="newnav" type="submit" value="Navigate Content" />  <input name="newnav" type="submit" value="$lt{'navc'}" />
 $help{'Navigate_Content'}  $help{'Navigate_Content'}
 </nobr>  </nobr>
 </form>  </form>
Line 881  $help{'Navigate_Content'} Line 1013  $help{'Navigate_Content'}
 <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">  <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">
 <input type=hidden name="importdetail" value="">  <input type=hidden name="importdetail" value="">
 <nobr>  <nobr>
 <input name="newsmppg" type="button" value="Simple Page"  <input name="newsmppg" type="button" value="$lt{'sipa'}"
 onClick="javascript:makesmppage();" /> $help{'Simple Page'}  onClick="javascript:makesmppage();" /> $help{'Simple Page'}
 </nobr>  </nobr>
 </form>  </form>
Line 890  onClick="javascript:makesmppage();" /> $ Line 1022  onClick="javascript:makesmppage();" /> $
 <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">  <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">
 <input type=hidden name="importdetail" value="">  <input type=hidden name="importdetail" value="">
 <nobr>  <nobr>
 <input name="newsmpproblem" type="button" value="Simple Problem"  <input name="newsmpproblem" type="button" value="$lt{'sipr'}"
 onClick="javascript:makesmpproblem();" />$help{'Simple Problem'}  onClick="javascript:makesmpproblem();" />$help{'Simple Problem'}
 </nobr>  </nobr>
 </form>  </form>
Line 899  onClick="javascript:makesmpproblem();" / Line 1031  onClick="javascript:makesmpproblem();" /
 <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">  <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">
 <input type=hidden name="importdetail" value="">  <input type=hidden name="importdetail" value="">
 <nobr>  <nobr>
 <input name="newexamupload" type="button" value="Score Upload Form"  <input name="newexamupload" type="button" value="$lt{'scuf'}"
 onClick="javascript:makeexamupload();" />  onClick="javascript:makeexamupload();" />
 $help{'Score_Upload_Form'}  $help{'Score_Upload_Form'}
 </nobr>  </nobr>
Line 909  $help{'Score_Upload_Form'} Line 1041  $help{'Score_Upload_Form'}
 <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">  <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">
 <input type=hidden name="importdetail" value="">  <input type=hidden name="importdetail" value="">
 <nobr>  <nobr>
 <input name="newbulletin" type="button" value="Bulletin Board"  <input name="newbulletin" type="button" value="$lt{'bull'}"
 onClick="javascript:makebulboard();" />  onClick="javascript:makebulboard();" />
 $help{'Bulletin Board'}  $help{'Bulletin Board'}
 </nobr>  </nobr>
Line 920  $help{'Bulletin Board'} Line 1052  $help{'Bulletin Board'}
 <input type=hidden name="importdetail"   <input type=hidden name="importdetail" 
 value="$plainname=/adm/$udom/$uname/aboutme">  value="$plainname=/adm/$udom/$uname/aboutme">
 <nobr>  <nobr>
 <input name="newaboutme" type="submit" value="My Personal Info" />  <input name="newaboutme" type="submit" value="$lt{'mypi'}" />
 $help{'My Personal Info'}  $help{'My Personal Info'}
 </nobr>  </nobr>
 </form>  </form>
Line 932  ENDFORM Line 1064  ENDFORM
 # ----------------------------------------------------- Supplemental documents  # ----------------------------------------------------- Supplemental documents
     if (!$forcestandard) {      if (!$forcestandard) {
        $r->print(         $r->print(
   '<tr><td bgcolor="#BBBBBB"><h2>Supplemental Course Documents'.    '<tr><td bgcolor="#BBBBBB"><h2>'.&mt('Supplemental Course Documents').
   ($allowed?' '.$help{'Supplemental'}:'').'</h2>');    ($allowed?' '.$help{'Supplemental'}:'').'</h2>');
        my $folder=$ENV{'form.folder'};         my $folder=$ENV{'form.folder'};
        unless ($folder=~/supplemental/) { $folder='supplemental'; }         unless ($folder=~/supplemental/) { $folder='supplemental'; }
Line 944  ENDFORM Line 1076  ENDFORM
   
           $r->print(<<ENDSUPFORM);            $r->print(<<ENDSUPFORM);
 <table cellspacing=4 cellpadding=4><tr>  <table cellspacing=4 cellpadding=4><tr>
 <th bgcolor="#DDDDDD">Upload a new supplemental course document</th>  <th bgcolor="#DDDDDD">$lt{'upls'}</th>
 <th bgcolor="#DDDDDD">Import a published document</th>  <th bgcolor="#DDDDDD">$lt{'impp'}</th>
 <th bgcolor="#DDDDDD">Special documents</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">
Line 958  ENDFORM Line 1090  ENDFORM
 <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">  <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">
 <input type="hidden" name="cmd" value="upload_supplemental">  <input type="hidden" name="cmd" value="upload_supplemental">
 <nobr>  <nobr>
 <input type="submit" value="Upload Document">  <input type="submit" value="$lt{'upld'}">
  $help{'Uploading_From_Harddrive'}   $help{'Uploading_From_Harddrive'}
 </nobr>  </nobr>
 </form>  </form>
Line 969  ENDFORM Line 1101  ENDFORM
 <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">  <input type="hidden" name="foldername" value="$ENV{'form.foldername'}">
 <input type=hidden name="importdetail" value="">  <input type=hidden name="importdetail" value="">
 <input type=button onClick=  <input type=button onClick=
 "javascript:document.forms.simpleedit.folder.value='$folder';groupsearch()" value="Search">  "javascript:document.forms.simpleedit.folder.value='$folder';groupsearch()" value="$lt{'srch'}">
 <input type=button onClick=  <input type=button onClick=
 "javascript:document.forms.simpleedit.folder.value='$folder';groupimport();" value="Import">$help{'Importing_LON-CAPA_Resource'}  "javascript:document.forms.simpleedit.folder.value='$folder';groupimport();" value="$lt{'impo'}">$help{'Importing_LON-CAPA_Resource'}
 <p>  <p>
 <hr />  <hr />
 <input type="text" size="20" name="importmap">  <input type="text" size="20" name="importmap">
 <input type=button   <input type=button 
 onClick="javascript:openbrowser('simpleeditsupplement','importmap','sequence,page','')"  onClick="javascript:openbrowser('simpleeditsupplement','importmap','sequence,page','')"
 value="Select Map"><input type="submit" name="loadmap" value="Load Map">  value="$lt{'selm'}"><input type="submit" name="loadmap" value="$lt{'load'}">$help{'Load_Map'}
 </p>  </p>
 </form>  </form>
 </td><td bgcolor="#DDDDDD">  </td><td bgcolor="#DDDDDD">
Line 988  value="Select Map"><input type="submit" Line 1120  value="Select Map"><input type="submit"
 <nobr>  <nobr>
 <input name="newfolder" type="button"  <input name="newfolder" type="button"
 onClick="javascript:makenewfolder(this.form,'$folderseq');"  onClick="javascript:makenewfolder(this.form,'$folderseq');"
 value="New Folder" /> $help{'Adding_Folders'}  value="$lt{'newf'}" /> $help{'Adding_Folders'}
 </nobr>  </nobr>
 </form>  </form>
 <form action="/adm/coursedocs" method="post" name="supnewext">  <form action="/adm/coursedocs" method="post" name="supnewext">
Line 998  value="New Folder" /> $help{'Adding_Fold Line 1130  value="New Folder" /> $help{'Adding_Fold
 <nobr>  <nobr>
 <input name="newext" type="button"   <input name="newext" type="button" 
 onClick="javascript:makenewext('supnewext');"  onClick="javascript:makenewext('supnewext');"
 value="External Resource" /> $help{'Adding_External_Resource'}  value="$lt{'extr'}" /> $help{'Adding_External_Resource'}
 </nobr>  </nobr>
 </form>  </form>
 <form action="/adm/coursedocs" method="post" name="supnewsyl">  <form action="/adm/coursedocs" method="post" name="supnewsyl">
Line 1007  value="External Resource" /> $help{'Addi Line 1139  value="External Resource" /> $help{'Addi
 <input type=hidden name="importdetail"   <input type=hidden name="importdetail" 
 value="Syllabus=/public/$coursedom/$coursenum/syllabus">  value="Syllabus=/public/$coursedom/$coursenum/syllabus">
 <nobr>  <nobr>
 <input name="newsyl" type="submit" value="Syllabus" />  <input name="newsyl" type="submit" value="$lt{'syll'}" />
 $help{'Syllabus'}  $help{'Syllabus'}
 </nobr>  </nobr>
 </form>  </form>
Line 1017  $help{'Syllabus'} Line 1149  $help{'Syllabus'}
 <input type=hidden name="importdetail"   <input type=hidden name="importdetail" 
 value="$plainname=/adm/$udom/$uname/aboutme">  value="$plainname=/adm/$udom/$uname/aboutme">
 <nobr>  <nobr>
 <input name="newaboutme" type="submit" value="My Personal Info" />  <input name="newaboutme" type="submit" value="$lt{'mypi'}" />
 $help{'My Personal Info'}  $help{'My Personal Info'}
 </nobr>  </nobr>
 </form>  </form>
Line 1032  ENDSUPFORM Line 1164  ENDSUPFORM
     $r->print('</table>');      $r->print('</table>');
   } else {    } else {
 # -------------------------------------------------------- This is showdoc mode  # -------------------------------------------------------- This is showdoc mode
       $r->print("<h1>Uploaded Document</h1><p>It is recommended that you use an up-to-date virus scanner before handling this file.</p><p><table>".        $r->print("<h1>".&mt('Uploaded Document').'</h1><p>'.
          &entryline(0,"Click to download or use your browser's Save Link function",$showdoc).'</table></p>');  &mt('It is recommended that you use an up-to-date virus scanner before handling this file.')."</p><p><table>".
            &entryline(0,&mt("Click to download or use your browser's Save Link function"),$showdoc).'</table></p>');
   }    }
  }   }
  $r->print('</body></html>');   $r->print(&Apache::lonlocal::endreroutetrans().'</body></html>');
  return OK;   return OK;
 }   } 
   

Removed from v.1.75  
changed lines
  Added in v.1.85


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.