Diff for /loncom/interface/londocs.pm between versions 1.325.2.5 and 1.342

version 1.325.2.5, 2010/01/22 01:23:34 version 1.342, 2009/02/14 13:27:01
Line 59  my $hadchanges; Line 59  my $hadchanges;
 my %help=();  my %help=();
   
   
   
 sub mapread {  sub mapread {
     my ($coursenum,$coursedom,$map)=@_;      my ($coursenum,$coursedom,$map)=@_;
     return      return
Line 120  sub dumpbutton { Line 119  sub dumpbutton {
     my $type = &Apache::loncommon::course_type();      my $type = &Apache::loncommon::course_type();
     if ($home+$other==0) { return ''; }      if ($home+$other==0) { return ''; }
     if ($home) {      if ($home) {
  return '<div>'.   return '<input type="submit" name="dumpcourse" value="'.
     '<input type="submit" name="dumpcourse" value="'.  
     &mt('Dump '.$type.' DOCS to Construction Space').'" />'.      &mt('Dump '.$type.' DOCS to Construction Space').'" />'.
     &Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs').      &Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs');
     '</div>';  
     } else {      } else {
  return '<div>'.   return '<div>'.
      &mt('Dump '.$type.       &mt('Dump '.$type.
Line 145  sub dumpcourse { Line 142  sub dumpcourse {
     my ($r) = @_;      my ($r) = @_;
     my $type = &Apache::loncommon::course_type();      my $type = &Apache::loncommon::course_type();
     $r->print(&Apache::loncommon::start_page('Dump '.$type.' DOCS to Construction Space').      $r->print(&Apache::loncommon::start_page('Dump '.$type.' DOCS to Construction Space').
       '<form name="dumpdoc" action="" method="post">');        '<form name="dumpdoc" method="post">');
     $r->print(&Apache::lonhtmlcommon::breadcrumbs('Dump '.$type.' DOCS to Construction Space'));      $r->print(&Apache::lonhtmlcommon::breadcrumbs('Dump '.$type.' DOCS to Construction Space'));
     my ($home,$other,%outhash)=&authorhosts();      my ($home,$other,%outhash)=&authorhosts();
     unless ($home) { return ''; }      unless ($home) { return ''; }
Line 265  sub dumpcourse { Line 262  sub dumpcourse {
   
 sub exportbutton {  sub exportbutton {
     my $type = &Apache::loncommon::course_type();      my $type = &Apache::loncommon::course_type();
     return '<input type="submit" name="exportcourse"'      return '<input type="submit" name="exportcourse" value="'.
           .' value="'.&mt('IMS Export').'"'              &mt('Export '.$type.' to IMS').'" />'.
           .' title="'.&mt('Export '.$type.' to IMS Package').'" />'.      &Apache::loncommon::help_open_topic('Docs_Export_Course_Docs');
     &Apache::loncommon::help_open_topic('Docs_Export_Course_Docs').'<br />';  
 }  }
   
   
Line 281  sub exportcourse { Line 277  sub exportcourse {
     my $numdisc = keys(%discussiontime);      my $numdisc = keys(%discussiontime);
     my $navmap = Apache::lonnavmaps::navmap->new();      my $navmap = Apache::lonnavmaps::navmap->new();
     if (!defined($navmap)) {      if (!defined($navmap)) {
         $r->print(&Apache::loncommon::start_page('Export '.$type.' to IMS Package').          $r->print(&Apache::loncommon::start_page('Export '.lc($type).' to IMS content package').
                   '<h2>'.&mt('IMS Export Failed').'</h2>'.                    '<h2>IMS Export Failed</h2>'.
                   '<div class="LC_error">');                    '<div class="LC_error">'.
         if ($crstype eq 'Community') {                    &mt('Unable to retrieve information about course contents').
             $r->print(&mt('Unable to retrieve information about community contents'));                    '</div><a href="/adm/coursedocs">'.&mt('Return to Course Editor').'</a>');
         } else {          &Apache::lonnet::logthis('IMS export failed - could not create navmap object in '.lc($type).':'.$env{'request.course.id'});
             $r->print(&mt('Unable to retrieve information about course contents'));  
         }  
         $r->print('</div><a href="/adm/coursedocs">');  
         if ($crstype eq 'Community') {  
             $r->print(&mt('Return to Community Editor'));  
         } else {  
             $r->print(&mt('Return to Course Editor'));  
         }  
         $r->print('</a>');  
         &Apache::lonnet::logthis('IMS export failed - could not create navmap object in '.lc($crstype).':'.$env{'request.course.id'});  
         return;          return;
     }      }
     my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef);      my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef);
Line 312  sub exportcourse { Line 298  sub exportcourse {
         my @exportitems = &Apache::loncommon::get_env_multiple('form.archive');          my @exportitems = &Apache::loncommon::get_env_multiple('form.archive');
         my @discussions = &Apache::loncommon::get_env_multiple('form.discussion');          my @discussions = &Apache::loncommon::get_env_multiple('form.discussion');
         if (@exportitems == 0 && @discussions == 0) {          if (@exportitems == 0 && @discussions == 0) {
             $outcome =               $outcome = '<br />As you did not select any content items or discussions for export, an IMS package has not been created.  Please <a href="javascript:history.go(-1)">go back</a> to select either content items or discussions for export';
                 '<p class="LC_warning">'  
                .&mt('As you did not select any content items or discussions'  
                    .' for export, an IMS package has not been created.')  
                .'</p>'  
                .'<p>'  
                .&mt('Please [_1]go back[_2] to select either content items'  
                    .' or discussions for export.'  
                        ,'<a href="javascript:history.go(-1)">'  
                        ,'</a>')  
                .'</p>';  
         } else {          } else {
             my $now = time;              my $now = time;
             my %symbs;              my %symbs;
Line 345  sub exportcourse { Line 321  sub exportcourse {
                 open(OUTPUT, "zip -r $imszip *  2> /dev/null |");                  open(OUTPUT, "zip -r $imszip *  2> /dev/null |");
                 close(OUTPUT);                  close(OUTPUT);
                 chdir $cwd;                  chdir $cwd;
                 $outcome .= '<p>'                  $outcome .= &mt('Download the zip file from <a href="[_1]">IMS '.lc($type).' archive</a><br />',$imszipfile,);
                            .&mt('[_1]Your IMS package[_2] is ready for download.'  
                                ,'<a href="'.$imszipfile.'">','</a>')  
                            .'</p>';  
                 if ($copyresult) {                  if ($copyresult) {
                     $outcome .= '<p class="LC_error">'                      $outcome .= &mt('The following errors occurred during export - [_1]',$copyresult);
                                .&mt('The following errors occurred during export - [_1]'  
                                    ,$copyresult)  
                                .'</p>';  
                 }                  }
             } else {              } else {
                 $outcome = '<p class="LC_error">'                  $outcome = '<br />'.&mt('Unfortunately you will not be able to retrieve an IMS archive of this posts at this time, because there was a problem creating a manifest file.').'<br />';
                           .&mt('Unfortunately you will not be able to retrieve'  
                               .' an IMS archive of this posts at this time,'  
                               .' because there was a problem creating a'  
                               .' manifest file.')  
                           .'</p>'  
                           .'<p><a href="javascript:history.go(-1)">'  
                           .&mt('Go Back')  
                           .'</a></p>';  
             }              }
         }          }
         $r->print(&Apache::loncommon::start_page('Export '.$type.' to IMS Package'));          $r->print(&Apache::loncommon::start_page('Export '.lc($type).' to IMS content package'));
         $r->print(&Apache::lonhtmlcommon::breadcrumbs('IMS Export'));   $r->print(&Apache::lonhtmlcommon::breadcrumbs('Export '.lc($type).' to IMS content package'));
         $r->print($outcome);          $r->print($outcome);
         $r->print(&Apache::loncommon::end_page());          $r->print(&Apache::loncommon::end_page());
     } else {      } else {
         my $display='<form name="exportdoc" action="" method="post">'."\n".          my $display;
                     '<p>'.          $display = '<form name="exportdoc" method="post">'."\n";
                     &mt('Choose which items you wish to export from your '.$crstype.'.').          $display .= &mt('Choose which items you wish to export from your '.$type.'.<br /><br />');
                     '</p>'.          $display .= '<table border="0" cellspacing="0" cellpadding="3">'.
                     '<div class="LC_columnSection"><fieldset>'.                      '<tr><td><fieldset><legend>&nbsp;<b>Content items</b></legend>'.
                     '<legend>'.&mt('Content items').'</legend>'.                      '<input type="button" value="check all" '.
                     '<input type="button" value="'.&mt('check all').'" '.  
                     'onclick="javascript:checkAll(document.exportdoc.archive)" />'.                      'onclick="javascript:checkAll(document.exportdoc.archive)" />'.
                     '&nbsp;&nbsp;<input type="button" value="'.&mt('uncheck all').'"'.                      '&nbsp;&nbsp;<input type="button" value="uncheck all"'.
                     ' onclick="javascript:uncheckAll(document.exportdoc.archive)" /></fieldset>';                      ' onclick="javascript:uncheckAll(document.exportdoc.archive)" /></fieldset></td>'.
         if ($numdisc > 0) {                      '<td>&nbsp;</td><td>&nbsp;</td>'.
             $display .= '<fieldset>'.                      '<td align="right"><fieldset><legend>&nbsp;<b>Discussion posts'.
                         '<legend>'.&mt('Discussion posts').'</legend>'.                      '</b></legend><input type="button" value="check all"'.
                         '<input type="button" value="'.&mt('check all').'"'.                      ' onclick="javascript:checkAll(document.exportdoc.discussion)" />'.
                         ' onclick="javascript:checkAll(document.exportdoc.discussion)" />'.                      '&nbsp;&nbsp;<input type="button" value="uncheck all"'.
                         '&nbsp;&nbsp;<input type="button" value="'.&mt('uncheck all').'"'.                      ' onclick="javascript:uncheckAll(document.exportdoc.discussion)" /></fieldset></td>'.
                         ' onclick="javascript:uncheckAll(document.exportdoc.discussion)" />'.                      '</tr></table>';
                         '</fieldset>';  
         }  
         $display .= '</div>';  
         my $curRes;          my $curRes;
         my $depth = 0;          my $depth = 0;
         my $count = 0;          my $count = 0;
Line 400  sub exportcourse { Line 358  sub exportcourse {
         my %parent = ();          my %parent = ();
         my %children = ();          my %children = ();
         my $lastcontainer = $startcount;          my $lastcontainer = $startcount;
         $display .= &Apache::loncommon::start_data_table()          my @bgcolors = ('#F6F6F6','#FFFFFF');
                    .&Apache::loncommon::start_data_table_header_row()          $display .= '<table cellspacing="0"><tr>'.
                    .'<th>'.&mt('Export content item?').'</th>';              '<td><b>Export content item?<br /></b></td><td>&nbsp;</td><td align="right">'."\n";
         if ($numdisc > 0) {          if ($numdisc > 0) {
             $display .= '<th>'.&mt('Export discussion posts?').'</th>';              $display.='<b>Export&nbsp;discussion posts?</b>'."\n";
         }          }
         $display .= &Apache::loncommon::end_data_table_header_row();          $display.='&nbsp;</td></tr>';
         while ($curRes = $it->next()) {          while ($curRes = $it->next()) {
             if (ref($curRes)) {              if (ref($curRes)) {
                 $count ++;                  $count ++;
Line 427  sub exportcourse { Line 385  sub exportcourse {
                         $ressymb = 'bulletin___'.$3.'___adm/wrapper/adm/'.$1.'/'.$2.'/'.$3.'/bulletinboard';                          $ressymb = 'bulletin___'.$3.'___adm/wrapper/adm/'.$1.'/'.$2.'/'.$3.'/bulletinboard';
                     }                      }
                 }                  }
                 my $currelem = $count+$boards+$startcount;                  my $color = $count%2;
                 $display .= &Apache::loncommon::start_data_table_row()                  $display .='<tr bgcolor='.$bgcolors[$color].'><td>'."\n".
                            .'<td>'."\n"                      '<input type="checkbox" name="archive" value="'.$count.'" ';
                            .'<input type="checkbox" name="archive" value="'.$count.'" ';  
                 if (($curRes->is_sequence()) || ($curRes->is_page())) {                  if (($curRes->is_sequence()) || ($curRes->is_page())) {
                     $lastcontainer = $currelem;                      my $checkitem = $count + $boards + $startcount;
                     $display .= 'onclick="javascript:propagateCheck('."'$currelem'".')"';                      $display .= 'onClick="javascript:propagateCheck('."'$checkitem'".')"';
                 }                  }
                 $display .= ' />'."\n";                  $display .= ' />'."\n";
                 for (my $i=0; $i<$depth; $i++) {                  for (my $i=0; $i<$depth; $i++) {
                     $display .= ('<img src="/adm/lonIcons/whitespace1.gif" class="LC_docs_spacer" />' x2)."\n";                      $display .= '<img src="/adm/lonIcons/whitespace1.gif" class="LC_docs_spacer" /><img src="/adm/lonIcons/whitespace1.gif" class="LC_docs_spacer" />'."\n";
                 }                  }
                 if ($curRes->is_sequence()) {                  if ($curRes->is_sequence()) {
                     $display .= '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />&nbsp;'."\n";                      $display .= '<img src="/adm/lonIcons/navmap.folder.open.gif">&nbsp;'."\n";
                       $lastcontainer = $count + $startcount + $boards;
                 } elsif ($curRes->is_page()) {                  } elsif ($curRes->is_page()) {
                     $display .= '<img src="/adm/lonIcons/navmap.page.open.gif" alt="" />&nbsp;'."\n";                      $display .= '<img src="/adm/lonIcons/navmap.page.open.gif">&nbsp;'."\n";
                       $lastcontainer = $count + $startcount + $boards;
                 }                  }
                   my $currelem = $count+$boards+$startcount;
                 $children{$parent{$depth}} .= $currelem.':';                  $children{$parent{$depth}} .= $currelem.':';
                 $display .= '&nbsp;'.$curRes->title().'</td>'."\n";                  $display .= '&nbsp;'.$curRes->title().'</td>';
   
                 # Existing discussion posts?  
   
                 if ($discussiontime{$ressymb} > 0) {                  if ($discussiontime{$ressymb} > 0) {
                     $boards ++;                      $boards ++;
                     $display .= '<td align="right">'                      $currelem = $count+$boards+$startcount;
                                .'<input type="checkbox" name="discussion" value="'.$count.'" />'                      $display .= '<td>&nbsp;</td><td align="right"><input type="checkbox" name="discussion" value="'.$count.'" />&nbsp;</td>'."\n";
                                .'</td>'."\n";  
                 } else {                  } else {
                     $display .= '<td>&nbsp;</td>'."\n";                      $display .= '<td colspan="2">&nbsp;</td>'."\n";
                 }                  }
                 $display .= &Apache::loncommon::end_data_table_row();  
             }              }
         }          }
         $display .= &Apache::loncommon::end_data_table();  
         my $scripttag = qq|          my $scripttag = qq|
 <script type="text/javascript">  <script>
 // <![CDATA[  
   
 function checkAll(field) {  function checkAll(field) {
     if (field.length > 0) {      if (field.length > 0) {
Line 515  function containerCheck(item) { Line 468  function containerCheck(item) {
      }          }   
 }  }
   
 // ]]>  
 </script>  </script>
         |;          |;
         $r->print(&Apache::loncommon::start_page('Export '.$type.' to IMS Package',   $r->print(&Apache::loncommon::start_page('Export '.lc($type).' to IMS content package',
   $scripttag));   $scripttag));
  $r->print(&Apache::lonhtmlcommon::breadcrumbs('Export '.lc($type).' to IMS content package'));   $r->print(&Apache::lonhtmlcommon::breadcrumbs('Export '.lc($type).' to IMS content package'));
  $r->print($display.   $r->print($display.'</table>'.
                   '<p><input type="hidden" name="finishexport" value="1" />'.                    '<p><input type="hidden" name="finishexport" value="1">'.
                   '<input type="submit" name="exportcourse" value="'.                    '<input type="submit" name="exportcourse" value="'.
                   &mt('Export').'" /></p></form>');                    &mt('Export '.$type.' DOCS').'" /></p></form>');
     }      }
 }  }
   
Line 551  sub create_ims_store { Line 503  sub create_ims_store {
     my $manifestfilename = $$tempexport.$manifest;      my $manifestfilename = $$tempexport.$manifest;
     if ($ims_manifest = Apache::File->new('>'.$manifestfilename)) {      if ($ims_manifest = Apache::File->new('>'.$manifestfilename)) {
         $$manifestok=1;          $$manifestok=1;
         print $ims_manifest           print $ims_manifest
 '<?xml version="1.0" encoding="UTF-8"?>'."\n".  '<?xml version="1.0" encoding="UTF-8"?>'."\n".
 '<manifest xmlns="http://www.imsglobal.org/xsd/imscp_v1p1"'.  '<manifest xmlns="http://www.imsglobal.org/xsd/imscp_v1p1"'.
 ' xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_v1p2"'.  ' xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_v1p2"'.
Line 1271  sub update_paste_buffer { Line 1223  sub update_paste_buffer {
         &Apache::lonnet::appenv({'docs.markedcopy_supplemental' => $title});          &Apache::lonnet::appenv({'docs.markedcopy_supplemental' => $title});
  ($title) = &parse_supplemental_title($title);   ($title) = &parse_supplemental_title($title);
     } elsif ($env{'docs.markedcopy_supplemental'}) {      } elsif ($env{'docs.markedcopy_supplemental'}) {
         &Apache::lonnet::delenv('docs.markedcopy_supplemental');          &Apache::lonnet::delenv('docs\\.markedcopy_supplemental');
     }      }
     $url=~s{http(&colon;|:)//https(&colon;|:)//}{https$2//};      $url=~s{http(&colon;|:)//https(&colon;|:)//}{https$2//};
   
Line 1375  sub do_paste_from_buffer { Line 1327  sub do_paste_from_buffer {
     }      }
 # published maps can only exists once, so remove it from paste buffer when done  # published maps can only exists once, so remove it from paste buffer when done
     if (($url=~/\.(page|sequence)$/) && ($url=~m {^/res/})) {      if (($url=~/\.(page|sequence)$/) && ($url=~m {^/res/})) {
  &Apache::lonnet::delenv('docs.markedcopy');   &Apache::lonnet::delenv('docs\\.markedcopy');
     }      }
     if ($url=~ m{/smppg$}) {      if ($url=~ m{/smppg$}) {
  my $db_name = &Apache::lonsimplepage::get_db_name($url);   my $db_name = &Apache::lonsimplepage::get_db_name($url);
Line 1697  sub process_file_upload { Line 1649  sub process_file_upload {
             return 'failed';              return 'failed';
         } else {          } else {
             if ($parseaction eq 'parse') {              if ($parseaction eq 'parse') {
                 my $total_embedded = scalar(keys(%{$allfiles}));                  my $total_embedded = keys(%{$allfiles});
                 if ($total_embedded > 0) {                  if ($total_embedded > 0) {
                     my $num = 0;                      my $num = 0;
     my $state = '      my $state = '
Line 1823  sub entryline { Line 1775  sub entryline {
  '<select name="newpos" onChange="this.form.submit()">';   '<select name="newpos" onChange="this.form.submit()">';
     for (my $i=1;$i<=$#LONCAPA::map::order+1;$i++) {      for (my $i=1;$i<=$#LONCAPA::map::order+1;$i++) {
  if ($i==$incindex) {   if ($i==$incindex) {
     $selectbox.='<option value="" selected="selected">('.$i.')</option>';      $selectbox.='<option value="" selected="1">('.$i.')</option>';
  } else {   } else {
     $selectbox.='<option value="'.$i.'">'.$i.'</option>';      $selectbox.='<option value="'.$i.'">'.$i.'</option>';
  }   }
Line 2010  END Line 1962  END
     my $ro_set=      my $ro_set=
     ((&LONCAPA::map::getparameter($orderidx,'parameter_randomorder'))[0]=~/^yes$/i?' checked="checked"':'');      ((&LONCAPA::map::getparameter($orderidx,'parameter_randomorder'))[0]=~/^yes$/i?' checked="checked"':'');
  $rand_order_text ='   $rand_order_text ='
 <span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" onclick="this.form.changeparms.value=\'randomorder\';this.form.submit()" '.$ro_set.' /> '.&mt('Random Order').' </label></span>';     <span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" onClick="this.form.changeparms.value=\'randomorder\';this.form.submit()" '.$ro_set.' /> '.&mt('Random Order').' </label></span>';   
     }      }
     if ($ispage) {      if ($ispage) {
         my $pagename=&escape($pagetitle);          my $pagename=&escape($pagetitle);
Line 2048  END Line 2000  END
        'hd' => 'Hidden',         'hd' => 'Hidden',
        'ec' => 'URL hidden');         'ec' => 'URL hidden');
  my $enctext=   my $enctext=
     ((&LONCAPA::map::getparameter($orderidx,'parameter_encrypturl'))[0]=~/^yes$/i?' checked="checked"':'');      ((&LONCAPA::map::getparameter($orderidx,'parameter_encrypturl'))[0]=~/^yes$/i?' checked="1"':'');
  my $hidtext=   my $hidtext=
     ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i?' checked="checked"':'');      ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i?' checked="1"':'');
  $line.=(<<ENDPARMS);   $line.=(<<ENDPARMS);
   <td class="LC_docs_entry_parameter">    <td class="LC_docs_entry_parameter">
     $form_start      $form_start
     <label><input type="checkbox" name="hiddenresource_$orderidx" onclick="this.form.changeparms.value='hiddenresource';this.form.submit()" $hidtext /> $lt{'hd'}</label>      <label><input type="checkbox" name="hiddenresource_$orderidx" onClick="this.form.changeparms.value='hiddenresource';this.form.submit()" $hidtext /> $lt{'hd'}</label>
     $form_end      $form_end
   </td>    </td>
   <td class="LC_docs_entry_parameter">    <td class="LC_docs_entry_parameter">
     $form_start      $form_start
     <label><input type="checkbox" name="encrypturl_$orderidx" onclick="this.form.changeparms.value='encrypturl';this.form.submit()" $enctext /> $lt{'ec'}</label>      <label><input type="checkbox" name="encrypturl_$orderidx" onClick="this.form.changeparms.value='encrypturl';this.form.submit()" $enctext /> $lt{'ec'}</label>
     $form_end      $form_end
   </td>    </td>
   <td class="LC_docs_entry_parameter">$form_start $rand_order_text $form_end</td>    <td class="LC_docs_entry_parameter">$form_start $rand_order_text $form_end</td>
Line 2142  sub checkonthis { Line 2094  sub checkonthis {
                  if (($errorcount) ||                   if (($errorcount) ||
                      ($warningcount)) {                       ($warningcount)) {
      if ($errorcount) {       if ($errorcount) {
                         $r->print('<img src="/adm/lonMisc/bomb.gif" alt="'.&mt('bomb').'" /><span class="LC_error">'.                          $r->print('<img src="/adm/lonMisc/bomb.gif" /><span class="LC_error">'.
                           &mt('[quant,_1,error]',$errorcount).'</span>');                            &mt('[quant,_1,error]',$errorcount).'</span>');
                      }                       }
      if ($warningcount) {       if ($warningcount) {
Line 2167  sub checkonthis { Line 2119  sub checkonthis {
       unless ($url=~/\$/) {        unless ($url=~/\$/) {
   $r->print('<span class="LC_error">'.&mt('not found').'</b></span>');    $r->print('<span class="LC_error">'.&mt('not found').'</b></span>');
       } else {        } else {
   $r->print('<span class="LC_error">'.&mt('unable to verify variable URL').'</span>');    $r->print('<span class="LC_unknown">'.&mt('unable to verify variable URL').'</span>');
       }        }
           } else {            } else {
              $r->print('<span class="LC_error">'.&mt('access denied').'</span>');               $r->print('<span class="LC_error">'.&mt('access denied').'</span>');
Line 2532  sub changewarning { Line 2484  sub changewarning {
  $message='Changes will become active for your current session after [_1], or the next time you log in.';   $message='Changes will become active for your current session after [_1], or the next time you log in.';
     }      }
     $r->print("\n\n".      $r->print("\n\n".
 '<script type="text/javascript">'."\n".  '<script type="text/javascript">function reinit(tf) { tf.submit();'.$postexec.' }</script>'."\n". 
 '// <![CDATA['."\n".  
 'function reinit(tf) { tf.submit();'.$postexec.' }'."\n".  
 '// ]]>'."\n".  
 '</script>'."\n".  
 '<form name="reinitform" method="post" action="/adm/roles" target="loncapaclient">'.  '<form name="reinitform" method="post" action="/adm/roles" target="loncapaclient">'.
 '<input type="hidden" name="orgurl" value="'.$url.  '<input type="hidden" name="orgurl" value="'.$url.
 '" /><input type="hidden" name="selectrole" value="1" /><p class="LC_warning">'.  '" /><input type="hidden" name="selectrole" value="1" /><h3><span class="LC_warning">'.
 &mt($message,' <input type="hidden" name="'.  &mt($message,' <input type="hidden" name="'.
     $env{'request.role'}.'" value="1" /><input type="button" value="'.      $env{'request.role'}.'" value="1" /><input type="button" value="'.
     &mt('re-initializing '.$course_type).'" onclick="reinit(this.form)" />').      &mt('re-initializing '.$course_type).'" onClick="reinit(this.form)" />').
 $help{'Caching'}.'</p></form>'."\n\n");  $help{'Caching'}.'</span></h3></form>'."\n\n");
   
 }  }
   
   
Line 2552  sub init_breadcrumbs { Line 2499  sub init_breadcrumbs {
     my ($form,$text)=@_;      my ($form,$text)=@_;
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/coursedocs",      &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/coursedocs",
     text=>&Apache::loncommon::course_type().' Editor',      text=>"Edit ".&Apache::loncommon::course_type(),
     faq=>273,      faq=>273,
     bug=>'Instructor Interface',      bug=>'Instructor Interface',
                                             help => 'Docs_Adding_Course_Doc'});                                              help => 'Docs_Adding_Course_Doc'});
Line 2572  sub handler { Line 2519  sub handler {
     return OK if $r->header_only;      return OK if $r->header_only;
     my $type = &Apache::loncommon::course_type();      my $type = &Apache::loncommon::course_type();
   
   
 # --------------------------------------------- Initialize help topics for this  # --------------------------------------------- Initialize help topics for this
     foreach my $topic ('Adding_Course_Doc','Main_Course_Documents',      foreach my $topic ('Adding_Course_Doc','Main_Course_Documents',
                'Adding_External_Resource','Navigate_Content',                 'Adding_External_Resource','Navigate_Content',
Line 2613  sub handler { Line 2561  sub handler {
       &init_breadcrumbs('dumpcourse','Dump '.&Apache::loncommon::course_type().' DOCS to Construction Space');        &init_breadcrumbs('dumpcourse','Dump '.&Apache::loncommon::course_type().' DOCS to Construction Space');
       &dumpcourse($r);        &dumpcourse($r);
   } elsif ($allowed && $env{'form.exportcourse'}) {    } elsif ($allowed && $env{'form.exportcourse'}) {
       &init_breadcrumbs('exportcourse','IMS Export');        &init_breadcrumbs('exportcourse','Export '.&Apache::loncommon::course_type().' to IMS');
       &exportcourse($r);        &exportcourse($r);
   } else {    } else {
 # is this a standard course?  # is this a standard course?
Line 2625  sub handler { Line 2573  sub handler {
     my $showdoc=0;      my $showdoc=0;
     my $containertag;      my $containertag;
     my $uploadtag;      my $uploadtag;
   
   
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
     ['folderpath','pagepath',      ['folderpath','pagepath',
      'pagesymb']);       'pagesymb']);
Line 2697  sub handler { Line 2647  sub handler {
  $script .= &editing_js($udom,$uname);   $script .= &editing_js($udom,$uname);
     }      }
 # -------------------------------------------------------------------- Body tag  # -------------------------------------------------------------------- Body tag
     $script = '<script type="text/javascript">'."\n"      $script = '<script type="text/javascript">'."\n".$script."\n".'</script>';
               .'// <![CDATA['."\n"  
               .$script."\n"  
               .'// ]]>'."\n"  
               .'</script>'."\n";  
     my $brcrum = [{href=>"/adm/createuser",text=>"$type Documents"}];      my $brcrum = [{href=>"/adm/createuser",text=>"$type Documents"}];
     $r->print(&Apache::loncommon::start_page("$type Documents", $script,      $r->print(&Apache::loncommon::start_page("$type Documents", $script,
     {'force_register' => $showdoc,      {'force_register' => $showdoc,
Line 2801  sub handler { Line 2747  sub handler {
                 'uplm' => 'Upload a new main '.lc($type).' document',                  'uplm' => 'Upload a new main '.lc($type).' document',
                 'upls' => 'Upload a new supplemental '.lc($type).' document',                  'upls' => 'Upload a new supplemental '.lc($type).' document',
                 'impp' => 'Import a document',                  'impp' => 'Import a document',
                 'pubd' => 'Published documents',                  'pubd' => 'Published Documents',
  'copm' => 'All documents out of a published map into this folder',   'copm' => 'All documents out of a published map into this folder',
                 'spec' => 'Special documents',  
                 'upld' => 'Upload Document',                  'upld' => 'Upload Document',
                 'srch' => 'Search',                  'srch' => 'Search',
                 'impo' => 'Import',                  'impo' => 'Import',
Line 2816  sub handler { Line 2761  sub handler {
                 'extr' => 'External Resource',                  'extr' => 'External Resource',
                 'syll' => 'Syllabus',                  'syll' => 'Syllabus',
                 'navc' => 'Navigate Contents',                  'navc' => 'Navigate Contents',
                 'sipa' => 'Simple Course Page',                  'sipa' => 'Simple Page',
                 'sipr' => 'Simple Problem',                  'sipr' => 'Simple Problem',
                 'drbx' => 'Drop Box',                  'drbx' => 'Drop Box',
                 'scuf' => 'Score Upload Form',                  'scuf' => 'Score Upload Form',
                 'bull' => 'Discussion Board',                  'bull' => 'Discussion Board',
                 'mypi' => 'My Personal Information Page',                  'mypi' => 'My Personal Info',
                 'grpo' => 'Group Portfolios',                  'grpo' => 'Group Files',
                 'rost' => 'Course Roster',                  'rost' => 'Course Roster',
  'abou' => 'About User',   'abou' => 'About User',
                 'imsf' => 'IMS Import',                  'imsf' => 'Import IMS package',
                 'imsl' => 'Import IMS package',  
                 'file' =>  'File',                  'file' =>  'File',
                 'title' => 'Title',                  'title' => 'Title',
                 'comment' => 'Comment',                  'comment' => 'Comment',
                 'parse' => 'If HTML file, upload embedded images/multimedia files'                  'parse' => 'Upload embedded images/multimedia files if HTML file!',
    'nd' => 'New Document',
    'pm' => 'Published Map',
    'sd' => 'Special Document',
    'mo' => 'More Options',
    'hao' => 'Hide all Options'
   );    );
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
     my %tabtitles = (   my $fileupload=(<<FIUP);
                        main => {   $lt{'file'}:<br />
                                  Course => &mt('Main Course Documents'),   <input type="file" name="uploaddoc" size="40" />
                                  Community => &mt('Main Community Documents'),  FIUP
                                },  
                        supplemental => {   my $checkbox=(<<CHBO);
                                  Course => &mt('Supplemental Course Documents'),           <!-- <label>$lt{'parse'}?
                                  Community => &mt('Supplemental Community Documents'),   <input type="checkbox" name="parserflag" />
                                },   </label> -->
                     );   <label>
    <input type="checkbox" name="parserflag" checked="checked" /> $lt{'parse'}
    </label>
   CHBO
   
    my $fileuploadform=(<<FUFORM);
    <form name="uploaddocument" action="/adm/coursedocs" method="post" enctype="multipart/form-data">
    $fileupload
    <br />
    $lt{'title'}:<br />
    <input type="text" size="50" name="comment" />
    $uploadtag
    <input type="hidden" name="cmd" value="upload_default" />
    <br />
    <span class="LC_nobreak">
    $checkbox
    </span>
    <br />
    <br />
    <span class="LC_nobreak">
    <input type="submit" value="$lt{'upld'}" />
    $help{'Uploading_From_Harddrive'}
    </span>
    </form>
   FUFORM
   
    my $simpleeditdefaultform=(<<SEDFFORM);
    <form action="/adm/coursedocs" method="post" name="simpleeditdefault">
    $lt{'pubd'}<br />
    $uploadtag
    <input type="button" onClick="javascript:groupsearch()" value="$lt{'srch'}" />
    <br />
    <span class="LC_nobreak">
    <input type="button" onClick="javascript:groupimport();" value="$lt{'impo'}" />
    $help{'Importing_LON-CAPA_Resource'}
    </span>
    <br />
    <input type="button" onClick="javascript:groupopen(0,1,1);" value="$lt{'book'}" />
    <hr />
    <p>
    $lt{'copm'}<br />
    <input type="text" size="40" name="importmap" /><br />
    <span class="LC_nobreak"><input type="button" 
    onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"
    value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" />
    $help{'Load_Map'}</span>
    </p>
    </form>
   SEDFFORM
   
    my $extresourcesform=(<<ERFORM);
    <form action="/adm/coursedocs" method="post" name="newext">
    $uploadtag
    <input type="hidden" name="importdetail" value="" />
    <span class="LC_nobreak">
    <input name="newext" type="button" onClick="javascript:makenewext('newext');"
    value="$lt{'extr'}" /> $help{'Adding_External_Resource'}
    </span>
    </form>
   ERFORM
   
     if ($allowed) {      if ($allowed) {
  &update_paste_buffer($coursenum,$coursedom);   &update_paste_buffer($coursenum,$coursedom);
        my $dumpbut=&dumpbutton();  
        my $exportbut=&exportbutton();  
        my %lt=&Apache::lonlocal::texthash(         my %lt=&Apache::lonlocal::texthash(
  'vc' => 'Verify Content',   'vc' => 'Verify Content',
  'cv' => 'Check/Set Resource Versions',   'cv' => 'Check/Set Resource Versions',
Line 2858  sub handler { Line 2865  sub handler {
        if (!$folderpath) {         if (!$folderpath) {
    if ($env{'form.folder'} eq '' ||     if ($env{'form.folder'} eq '' ||
        $env{'form.folder'} eq 'supplemental') {         $env{'form.folder'} eq 'supplemental') {
        $folderpath='default&'.&escape($tabtitles{'main'}{$type});         $folderpath='default&'.
      &escape(&mt('Main '.$type.' Documents'));
    }     }
        }         }
        unless ($env{'form.pagepath'}) {         unless ($env{'form.pagepath'}) {
            $containertag = '<input type="hidden" name="folderpath" value="" />';             $containertag = '<input type="hidden" name="folderpath" value="" />';
            $uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />';             $uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />';
        }         }
    $r->print(<<HIDDENFORM);
        $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" />     <input type="hidden" name="cmd" />
   <input type="hidden" name="cmd" />     <input type="hidden" name="markcopy" />
   <input type="hidden" name="markcopy" />     <input type="hidden" name="copyfolder" />
   <input type="hidden" name="copyfolder" />     $containertag
   $containertag   </form>
 </form>   <form name="simpleedit" method="post" action="/adm/coursedocs">
 <form name="simpleedit" method="post" action="/adm/coursedocs">     <input type="hidden" name="importdetail" value="" />
   <input type="hidden" name="importdetail" value="" />     $uploadtag
   $uploadtag   </form>
 </form>  HIDDENFORM
 <form action="/adm/coursedocs" method="post" name="courseverify">      }
   <div class="LC_docs_course_commands">  # --------------------------------------------------------- Main tab structure
       my $activeClass = 1;
       <div>      $r->print('<ul class="LC_TabContentBigger" id="mainnav">');
         <input type="submit" name="verify" value="$lt{'vc'}" />$help{'Verify_Content'}      if (($standard) && ($allowed) && (!$forcesupplement)) {
       </div>   my $active = '';
       <div>          if($activeClass == 1){
         <input type="submit" name="versions" value="$lt{'cv'}" />$help{'Check_Resource_Versions'}             $active = 'class="active"';
       </div>     $activeClass = 0;
         $dumpbut   }
         $exportbut   $r->print('<li '.$active.'onclick="javascript:showPage(this,\'Main Course Documents\',\'mainnav\',\'maincoursedoc\');">'.&mt('Main Course Documents').'</li>');
       <div>  
         <input type="submit" name="listsymbs" value="$lt{'ls'}" />  
       </div>  
       <div>  
         <input type="hidden" name="folder" value="$env{'form.folder'}" />  
         <input type="submit" name="docslog" value="$lt{'sl'}" />  
       </div>  
   </div>  
 </form>  
 <div style="clear: both; height: 0px;">&nbsp;</div>  
 ENDCOURSEVERIFY  
        $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc',  
      &mt('Editing the Table of Contents for your '.$type)));  
     }      }
       if (!$forcestandard) {
    my $active = '';
           if($activeClass == 1){
              $active = 'class="active"';
           }
    $r->print('<li '.$active.'onclick="javascript:showPage(this,\'Supplemental Course Documents\',\'mainnav\',\'maincoursedoc\');">'.&mt('Supplemental Course Documents').'</li>');
       }
       $r->print('<li onclick="javascript:showPage(this,\'Special Admin Options\',\'mainnav\',\'maincoursedoc\');">'.&mt('Special Admin Options').'</li>');
       $r->print('</ul><div class="LC_ContentBoxSpecial" style="margin:0 0;padding:0 0;"><div id="maincoursedoc" style="margin:0 0;padding:0 0;">');
 # --------------------------------------------------------- Standard documents  # --------------------------------------------------------- Standard documents
     $r->print('<table class="LC_docs_documents">');  
   
     if (($standard) && ($allowed) && (!$forcesupplement)) {      if (($standard) && ($allowed) && (!$forcesupplement)) {
  $r->print('<tr><td class="LC_docs_document">');         my $active = 'style="display: none;"';
 #  '<h2>'.&mt('Main Course Documents').         if($activeClass == 0){
 #  ($allowed?' '.$help{'Main_Course_Documents'}:'').'</h2>');            $active = 'style="display: block;"';
          }
          $r->print('<div class="LC_ContentBox" id="Main Course Documents" '.$active.'>');
           $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc',
                        &mt('Editing the Table of Contents for your '.$type)));
        my $folder=$env{'form.folder'};         my $folder=$env{'form.folder'};
        if ($folder eq '' || $folder eq 'supplemental') {         if ($folder eq '' || $folder eq 'supplemental') {
            $folder='default';             $folder='default';
Line 2919  ENDCOURSEVERIFY Line 2925  ENDCOURSEVERIFY
        }         }
        my $postexec='';         my $postexec='';
        if ($folder eq 'default') {         if ($folder eq 'default') {
            $r->print('<script type="text/javascript">'."\n"     $r->print('<script type="text/javascript">this.window.name="loncapaclient";</script>');
                     .'// <![CDATA['."\n"  
                     .'this.window.name="loncapaclient";'."\n"  
                     .'// ]]>'."\n"  
                     .'</script>'."\n"  
        );  
        } else {         } else {
            #$postexec='self.close();';             #$postexec='self.close();';
        }         }
        $hadchanges=0;  
        my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,  
    $upload_output,$type);  
        if ($error) {  
    $r->print('<p><span class="LC_error">'.$error.'</span></p>');  
        }  
        if ($hadchanges) {  
    &mark_hash_old();  
        }  
        &changewarning($r,$postexec);  
        my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.         my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
                      '.sequence';                       '.sequence';
        my $pageseq = '/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.         my $pageseq = '/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
Line 2947  ENDCOURSEVERIFY Line 2938  ENDCOURSEVERIFY
     $container='page';      $container='page';
  }   }
  my $readfile='/uploaded/'.$coursedom.'/'.$coursenum.'/'.$folder.'.'.$container;   my $readfile='/uploaded/'.$coursedom.'/'.$coursenum.'/'.$folder.'.'.$container;
        $r->print(<<ENDFORM);  
 <table class="LC_docs_adddocs">  
 <tr>  
 <th>$lt{'uplm'}</th>   my $recoverform=(<<RFORM);
 <th>$lt{'impp'}</th>   <form action="/adm/groupsort" method="post" name="recover">
 <th>$lt{'spec'}</th>   <input type="button" name="recovermap" onClick="javascript:groupopen('$readfile',1,0)" value="$lt{'reco'}" />
 </tr>   </form>
 <tr>  RFORM
 <td>  
 $lt{'file'}:<br />   my $imspform=(<<IMSPFORM);
 <form name="uploaddocument" action="/adm/coursedocs" method="post" enctype="multipart/form-data">   <form action="/adm/imsimportdocs" method="post" name="ims">
 <input type="file" name="uploaddoc" size="40" />   <input type="hidden" name="folder" value="$folder" />
 <br />   <input name="imsimport" type="button" value="$lt{'imsf'}" onClick="javascript:makeims();" />
 $lt{'title'}:<br />   </form>
 <input type="text" size="50" name="comment" />  IMSPFORM
 $uploadtag  
 <input type="hidden" name="cmd" value="upload_default" />   my $newnavform=(<<NNFORM);
 <br />   <form action="/adm/coursedocs" method="post" name="newnav">
 <span class="LC_nobreak">   $uploadtag
 <label>$lt{'parse'}?   <input type="hidden" name="importdetail" 
 <input type="checkbox" name="parserflag" checked="checked" />   value="$lt{'navc'}=/adm/navmaps" />
 </label>   <span class="LC_nobreak">
 </span>   <input name="newnav" type="submit" value="$lt{'navc'}" />
 <br />   $help{'Navigate_Content'}
 <br />   </span>
 <span class="LC_nobreak">   </form>
 <input type="submit" value="$lt{'upld'}" />  NNFORM
  $help{'Uploading_From_Harddrive'}   my $newsmppageform=(<<NSPFORM);
 </span>   <form action="/adm/coursedocs" method="post" name="newsmppg">
 </form>   $uploadtag
 </td>   <input type="hidden" name="importdetail" value="" />
 <td>   <span class="LC_nobreak">
 <form action="/adm/coursedocs" method="post" name="simpleeditdefault">   <input name="newsmppg" type="button" value="$lt{'sipa'}"
 $lt{'pubd'}<br />   onClick="javascript:makesmppage();" /> $help{'Simple Page'}
 $uploadtag   </span>
 <input type="button" onclick="javascript:groupsearch()" value="$lt{'srch'}" />   </form>
 <br />  NSPFORM
 <span class="LC_nobreak">  
 <input type="button" onclick="javascript:groupimport();" value="$lt{'impo'}" />   my $newsmpproblemform=(<<NSPROBFORM);
 $help{'Importing_LON-CAPA_Resource'}   <form action="/adm/coursedocs" method="post" name="newsmpproblem">
 </span>   $uploadtag
 <br />   <input type="hidden" name="importdetail" value="" />
 <input type="button" onclick="javascript:groupopen(0,1,1);" value="$lt{'book'}" />   <span class="LC_nobreak">
 <hr />   <input name="newsmpproblem" type="button" value="$lt{'sipr'}"
 <p>   onClick="javascript:makesmpproblem();" />$help{'Simple Problem'}
 $lt{'copm'}<br />   </span>
 <input type="text" size="40" name="importmap" /><br />   </form>
 <span class="LC_nobreak"><input type="button"   
 onclick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"  NSPROBFORM
 value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" />  
 $help{'Load_Map'}</span>   my $newdropboxform=(<<NDBFORM);
 </p>   <form action="/adm/coursedocs" method="post" name="newdropbox">
 </form>   $uploadtag      
 <hr />   <input type="hidden" name="importdetail" value="" />
 <form action="/adm/groupsort" method="post" name="recover">   <span class="LC_nobreak">          
 <input type="button" name="recovermap" onclick="javascript:groupopen('$readfile',1,0)" value="$lt{'reco'}" />   <input name="newdropbox" type="button" value="$lt{'drbx'}"
 </form>   onClick="javascript:makedropbox();" />
 ENDFORM   </span>         
        unless ($env{'form.pagepath'}) {   </form> 
    $r->print(<<ENDFORM);  NDBFORM
 <hr />  
 <form action="/adm/coursedocs" method="post" name="newext">   my $newexuploadform=(<<NEXUFORM);
 $uploadtag   <form action="/adm/coursedocs" method="post" name="newexamupload">
 <input type="hidden" name="importdetail" value="" />   $uploadtag
 <span class="LC_nobreak">   <input type="hidden" name="importdetail" value="" />
 <input name="newext" type="button" onclick="javascript:makenewext('newext');"   <span class="LC_nobreak">
 value="$lt{'extr'}" /> $help{'Adding_External_Resource'}   <input name="newexamupload" type="button" value="$lt{'scuf'}"
 </span>   onClick="javascript:makeexamupload();" />
 </form>   $help{'Score_Upload_Form'}
 <br /><form action="/adm/imsimportdocs" method="post" name="ims">   </span>
 <input type="hidden" name="folder" value="$folder" />   </form>
 <input name="imsimport" type="button" value="$lt{'imsf'}" title="$lt{imsl}" onclick="javascript:makeims();" />  NEXUFORM
 </form>  
 ENDFORM   my $newbulform=(<<NBFORM);
        }   <form action="/adm/coursedocs" method="post" name="newbul">
        $r->print('</td><td>');   $uploadtag
    <input type="hidden" name="importdetail" value="" />
    <span class="LC_nobreak">
    <input name="newbulletin" type="button" value="$lt{'bull'}"
    onClick="javascript:makebulboard();" />
    $help{'Bulletin Board'}
    </span>
    </form>
   NBFORM
   
    my $newaboutmeform=(<<NAMFORM);
    <form action="/adm/coursedocs" method="post" name="newaboutme">
    $uploadtag
    <input type="hidden" name="importdetail" 
    value="$plainname=/adm/$udom/$uname/aboutme" />
    <span class="LC_nobreak">
    <input name="newaboutme" type="submit" value="$lt{'mypi'}" />
    $help{'My Personal Info'}
    </span>
    </form>
   NAMFORM
   
    my $newaboutsomeoneform=(<<NASOFORM);
    <form action="/adm/coursedocs" method="post" name="newaboutsomeone">
    $uploadtag
    <input type="hidden" name="importdetail" value="" />
    <span class="LC_nobreak">
    <input name="newaboutsomeone" type="button" value="$lt{'abou'}" 
    onClick="javascript:makeabout();" />
    </span>
    </form>
   NASOFORM
   
   
    my $newrosterform=(<<NROSTFORM);
    <form action="/adm/coursedocs" method="post" name="newroster">
    $uploadtag
    <input type="hidden" name="importdetail" 
    value="$lt{'rost'}=/adm/viewclasslist" />
    <span class="LC_nobreak">
    <input name="newroster" type="submit" value="$lt{'rost'}" />
    $help{'Course Roster'}
    </span>
    </form>
   NROSTFORM
   
   my $specialdocumentsform;
   
        unless ($env{'form.pagepath'}) {         unless ($env{'form.pagepath'}) {
    my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');     my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
            $r->print(<<ENDFORM);  
 <br /><form action="/adm/coursedocs" method="post" name="newfolder">   my $newpageform=(<<NPFORM);
 <input type="hidden" name="folderpath" value="$path" />   <form action="/adm/coursedocs" method="post" name="newpage">
 <input type="hidden" name="importdetail" value="" />   <input type="hidden" name="folderpath" value="$path" />
 <span class="LC_nobreak">   <input type="hidden" name="importdetail" value="" />
 <input name="newfolder" type="button"   <span class="LC_nobreak">
 onclick="javascript:makenewfolder(this.form,'$folderseq');"   <input name="newpage" type="button"
 value="$lt{'newf'}" />$help{'Adding_Folders'}   onClick="javascript:makenewpage(this.form,'$pageseq');"
 </span>   value="$lt{'newp'}" />$help{'Adding_Pages'}
 </form>   </span>
 <br /><form action="/adm/coursedocs" method="post" name="newpage">   </form>
 <input type="hidden" name="folderpath" value="$path" />  NPFORM
 <input type="hidden" name="importdetail" value="" />  
 <span class="LC_nobreak">   my $newfolderform=(<<NFFORM);
 <input name="newpage" type="button"   <form action="/adm/coursedocs" method="post" name="newfolder">
 onclick="javascript:makenewpage(this.form,'$pageseq');"   <input type="hidden" name="folderpath" value="$path" />
 value="$lt{'newp'}" />$help{'Adding_Pages'}   <input type="hidden" name="importdetail" value="" />
 </span>   <span class="LC_nobreak">
 </form>   <input name="newfolder" type="button"
 <br /><form action="/adm/coursedocs" method="post" name="newsyl">   onClick="javascript:makenewfolder(this.form,'$folderseq');"
 $uploadtag   value="$lt{'newf'}" />$help{'Adding_Folders'}
 <input type="hidden" name="importdetail"    </span>
 value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" />   </form>
 <span class="LC_nobreak">  NFFORM
 <input name="newsyl" type="submit" value="$lt{'syll'}" />   
  $help{'Syllabus'}   my $newsylform=(<<NSYLFORM);
 </span>   <form action="/adm/coursedocs" method="post" name="newsyl">
 </form>   $uploadtag
 <br /><form action="/adm/coursedocs" method="post" name="newnav">   <input type="hidden" name="importdetail" 
 $uploadtag   value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" />
 <input type="hidden" name="importdetail"    <span class="LC_nobreak">
 value="$lt{'navc'}=/adm/navmaps" />   <input name="newsyl" type="submit" value="$lt{'syll'}" /> 
 <span class="LC_nobreak">   $help{'Syllabus'}
 <input name="newnav" type="submit" value="$lt{'navc'}" />   </span>
 $help{'Navigate_Content'}   </form>
 </span>  NSYLFORM
 </form>  
 <br /><form action="/adm/coursedocs" method="post" name="newsmppg">   my $newgroupfileform=(<<NGFFORM);
 $uploadtag   <form action="/adm/coursedocs" method="post" name="newgroupfiles">
 <input type="hidden" name="importdetail" value="" />   $uploadtag
 <span class="LC_nobreak">   <input type="hidden" name="importdetail"
 <input name="newsmppg" type="button" value="$lt{'sipa'}"   value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" />
 onclick="javascript:makesmppage();" /> $help{'Simple Page'}   <span class="LC_nobreak">
 </span>   <input name="newgroupfiles" type="submit" value="$lt{'grpo'}" />
 </form>   $help{'Group Files'}
 <br /><form action="/adm/coursedocs" method="post" name="newsmpproblem">   </span>
 $uploadtag   </form>
 <input type="hidden" name="importdetail" value="" />  NGFFORM
 <span class="LC_nobreak">  
 <input name="newsmpproblem" type="button" value="$lt{'sipr'}"   $specialdocumentsform="<br />$newfolderform<br />$newpageform<br />$newsylform<br />$newgroupfileform";
 onclick="javascript:makesmpproblem();" />$help{'Simple Problem'}        }
 </span>   $specialdocumentsform.="<br />$newnavform<br />$newsmppageform
 </form>   <br />$newsmpproblemform<br />$newdropboxform
 <br /><form action="/adm/coursedocs" method="post" name="newdropbox">          <br />$newexuploadform<br />$newbulform
 $uploadtag                <br />$newaboutmeform<br />$newaboutsomeoneform
 <input type="hidden" name="importdetail" value="" />          <br />$newrosterform";
 <span class="LC_nobreak">            if($env{'form.pagepath'}) {
 <input name="newdropbox" type="button" value="$lt{'drbx'}"   $specialdocumentsform="<br />$newsmpproblemform<br />$newexuploadform";
 onclick="javascript:makedropbox();" />  }
 </span>           
 </form>   my %orderhash = (
 <br /><form action="/adm/coursedocs" method="post" name="newexamupload">                  'aa' => 'New Document',
 $uploadtag                  'bb' => 'Published Documents',
 <input type="hidden" name="importdetail" value="" />                  'cc' => 'Special Documents',
 <span class="LC_nobreak">   'dd' => 'More Options',
 <input name="newexamupload" type="button" value="$lt{'scuf'}"                  'zz' => 'Hide all Options',
 onclick="javascript:makeexamupload();" />                  );
 $help{'Score_Upload_Form'}  my %namehash = (
 </span>                  'New Document' => $fileuploadform,
 </form>                  'Published Documents' => $simpleeditdefaultform,
 <br /><form action="/adm/coursedocs" method="post" name="newbul">                  'Special Documents' => $specialdocumentsform,
 $uploadtag   'More Options' => $extresourcesform.'<br />'.$imspform.'<br />'.$recoverform,
 <input type="hidden" name="importdetail" value="" />                  );
 <span class="LC_nobreak">  my $tid='1';
 <input name="newbulletin" type="button" value="$lt{'bull'}"  my $content='content';
 onclick="javascript:makebulboard();" />  my $navigation='navigation';
 $help{'Bulletin Board'}  my $varcd = 'Main Course Documents';
 </span>  $r->print(&generate_edit_table($tid,$content,$navigation,$varcd,\%namehash,\%orderhash));
 </form>   $hadchanges=0;
 <br /><form action="/adm/coursedocs" method="post" name="newaboutme">          my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type);
 $uploadtag         if ($error) {
 <input type="hidden" name="importdetail"              $r->print('<p><span class="LC_error">'.$error.'</span></p>');
 value="$plainname=/adm/$udom/$uname/aboutme" />         }
 <span class="LC_nobreak">         if ($hadchanges) {
 <input name="newaboutme" type="submit" value="$lt{'mypi'}" />             &mark_hash_old();
 $help{'My Personal Info'}  
 </span>  
 </form>  
 <br /><form action="/adm/coursedocs" method="post" name="newaboutsomeone">  
 $uploadtag  
 <input type="hidden" name="importdetail" value="" />  
 <span class="LC_nobreak">  
 <input name="newaboutsomeone" type="button" value="$lt{'abou'}"   
 onclick="javascript:makeabout();" />  
 </span>  
 </form>  
 <br /><form action="/adm/coursedocs" method="post" name="newgroupfiles">  
 $uploadtag  
 <input type="hidden" name="importdetail"  
 value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" />  
 <span class="LC_nobreak">  
 <input name="newgroupfiles" type="submit" value="$lt{'grpo'}" />  
 $help{'Group Files'}  
 </span>  
 </form>  
 <br /><form action="/adm/coursedocs" method="post" name="newroster">  
 $uploadtag  
 <input type="hidden" name="importdetail"   
 value="$lt{'rost'}=/adm/viewclasslist" />  
 <span class="LC_nobreak">  
 <input name="newroster" type="submit" value="$lt{'rost'}" />  
 $help{'Course Roster'}  
 </span>  
 </form>  
 ENDFORM  
        }         }
   
          &changewarning($r,'');
   $r->print('</div>');
        if ($env{'form.pagepath'}) {         if ($env{'form.pagepath'}) {
            $r->print(<<ENDBLOCK);  
 <form action="/adm/coursedocs" method="post" name="newsmpproblem">  
 $uploadtag  
 <input type="hidden" name="importdetail" value="" />  
 <span class="LC_nobreak">  
 <input name="newsmpproblem" type="button" value="$lt{'sipr'}"  
 onclick="javascript:makesmpproblem();" />$help{'Simple Problem'}  
 </span>  
 </form>  
 <br /><form action="/adm/coursedocs" method="post" name="newexamupload">  
 $uploadtag  
 <input type="hidden" name="importdetail" value="" />  
 <span class="LC_nobreak">  
 <input name="newexamupload" type="button" value="$lt{'scuf'}"  
 onclick="javascript:makeexamupload();" />  
 $help{'Score_Upload_Form'}  
 </span>  
 </form>  
 ENDBLOCK  
        }         }
        $r->print('</td></tr>'."\n".  
 '</table>');  
        $r->print('</td></tr>');  
     }      }
 # ----------------------------------------------------- Supplemental documents  # ----------------------------------------------------- Supplemental documents
     if (!$forcestandard) {      if (!$forcestandard) {
        $r->print('<tr><td class="LC_docs_document">');         my $active = 'style="display: none;"';
 # '<h2>'.&mt('Supplemental Course Documents').         if($activeClass == 1){
 #  ($allowed?' '.$help{'Supplemental'}:'').'</h2>');            $active = 'style="display: block;"';
          }
          $r->print('<div class="LC_ContentBox" id="Supplemental Course Documents" '.$active.'>');
        my $folder=$env{'form.folder'};         my $folder=$env{'form.folder'};
        unless ($folder=~/^supplemental/) {         unless ($folder=~/^supplemental/) {
    $folder='supplemental';     $folder='supplemental';
Line 3178  ENDBLOCK Line 3169  ENDBLOCK
        if ($folder =~ /^supplemental$/ &&         if ($folder =~ /^supplemental$/ &&
    (($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) {     (($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) {
           $env{'form.folderpath'} = 'supplemental&'.            $env{'form.folderpath'} = 'supplemental&'.
                                     &escape($tabtitles{'supplemental'}{$type});                                      &escape(&mt('Supplemental '.$type.' Documents'));
        }  
        my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type);  
        if ($error) {  
    $r->print('<p><span class="LC_error">'.$error.'</span></p>');  
        }         }
        if ($allowed) {         if ($allowed) {
    my $folderseq=     my $folderseq=
Line 3190  ENDBLOCK Line 3177  ENDBLOCK
        '.sequence';         '.sequence';
   
    my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');     my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
    $r->print(<<ENDSUPFORM);  
 <table class="LC_docs_adddocs"><tr>   my $supupdocform=(<<SUPDOCFORM);
 <th>$lt{'upls'}</th>   <form action="/adm/coursedocs" method="post" enctype="multipart/form-data">
 <th>$lt{'spec'}</th>   $fileupload
 </tr>   <br />
 <tr><td>   <br />
 <form action="/adm/coursedocs" method="post" enctype="multipart/form-data">   <span class="LC_nobreak">
 <input type="file" name="uploaddoc" size="40" />   $checkbox
 <br />   </span>
 <br />   <br /><br />
 <span class="LC_nobreak">   $lt{'comment'}:<br />
 <label>$lt{'parse'}?   <textarea cols=50 rows=4 name='comment'>
 <input type="checkbox" name="parserflag" />   </textarea>
 </label>   <br />
 </span>   <input type="hidden" name="folderpath" value="$path" />
 <br /><br />   <input type="hidden" name="cmd" value="upload_supplemental" />
 $lt{'comment'}:<br />   <span class="LC_nobreak">
 <textarea cols="50" rows="4" name="comment">   <input type="submit" value="$lt{'upld'}" />
 </textarea>   $help{'Uploading_From_Harddrive'}
 <br />   </span>
 <input type="hidden" name="folderpath" value="$path" />   </form>
 <input type="hidden" name="cmd" value="upload_supplemental" />  SUPDOCFORM
 <span class="LC_nobreak">  
 <input type="submit" value="$lt{'upld'}" />   my $supnewfolderform=(<<SNFFORM);
  $help{'Uploading_From_Harddrive'}   <form action="/adm/coursedocs" method="post" name="supnewfolder">
 </span>   <input type="hidden" name="folderpath" value="$path" />
 </form>   <input type="hidden" name="importdetail" value="" />
 </td>   <span class="LC_nobreak">
 <td>   <input name="newfolder" type="button"
 <form action="/adm/coursedocs" method="post" name="supnewfolder">   onClick="javascript:makenewfolder(this.form,'$folderseq');"
 <input type="hidden" name="folderpath" value="$path" />   value="$lt{'newf'}" /> $help{'Adding_Folders'}
 <input type="hidden" name="importdetail" value="" />   </span>
 <span class="LC_nobreak">   </form>
 <input name="newfolder" type="button"  SNFFORM
 onclick="javascript:makenewfolder(this.form,'$folderseq');"  
 value="$lt{'newf'}" /> $help{'Adding_Folders'}  
 </span>   my $supnewextform=(<<SNEFORM);
 </form>   <form action="/adm/coursedocs" method="post" name="supnewext">
 <br /><form action="/adm/coursedocs" method="post" name="supnewext">   <input type="hidden" name="folderpath" value="$path" />
 <input type="hidden" name="folderpath" value="$path" />   <input type="hidden" name="importdetail" value="" />
 <input type="hidden" name="importdetail" value="" />   <span class="LC_nobreak">
 <span class="LC_nobreak">   <input name="newext" type="button" 
 <input name="newext" type="button"    onClick="javascript:makenewext('supnewext');"
 onclick="javascript:makenewext('supnewext');"   value="$lt{'extr'}" /> $help{'Adding_External_Resource'}
 value="$lt{'extr'}" /> $help{'Adding_External_Resource'}   </span>
 </span>   </form>
 </form>  SNEFORM
 <br /><form action="/adm/coursedocs" method="post" name="supnewsyl">  
 <input type="hidden" name="folderpath" value="$path" />   my $supnewsylform=(<<SNSFORM);
 <input type="hidden" name="importdetail"    <form action="/adm/coursedocs" method="post" name="supnewsyl">
 value="Syllabus=/public/$coursedom/$coursenum/syllabus" />   <input type="hidden" name="folderpath" value="$path" />
 <span class="LC_nobreak">   <input type="hidden" name="importdetail" 
 <input name="newsyl" type="submit" value="$lt{'syll'}" />   value="Syllabus=/public/$coursedom/$coursenum/syllabus" />
 $help{'Syllabus'}   <span class="LC_nobreak">
 </span>   <input name="newsyl" type="submit" value="$lt{'syll'}" />
 </form>   $help{'Syllabus'}
 <br /><form action="/adm/coursedocs" method="post" name="subnewaboutme">   </span>
 <input type="hidden" name="folderpath" value="$path" />   </form>
 <input type="hidden" name="importdetail"   SNSFORM
 value="$plainname=/adm/$udom/$uname/aboutme" />  
 <span class="LC_nobreak">   my $supnewaboutmeform=(<<SNAMFORM);
 <input name="newaboutme" type="submit" value="$lt{'mypi'}" />   <form action="/adm/coursedocs" method="post" name="subnewaboutme">
 $help{'My Personal Info'}   <input type="hidden" name="folderpath" value="$path" />
 </span>   <input type="hidden" name="importdetail" 
 </form>   value="$plainname=/adm/$udom/$uname/aboutme" />
 </td></tr>   <span class="LC_nobreak">
 </table></td></tr>   <input name="newaboutme" type="submit" value="$lt{'mypi'}" />
 ENDSUPFORM   $help{'My Personal Info'}
    </span>
    </form>
   SNAMFORM
   
   
   
   my %suporderhash = (
                   'ee' => 'New Document',
                   'ff' => 'Special Documents',
                   'zz' => 'Hide all Options',
                   );
   
   my %supnamehash = (
                   'New Document' => $supupdocform,
                   'Special Documents' => $supnewfolderform.'<br />'.$supnewextform.'<br />'.$supnewsylform.'<br />'.$supnewaboutmeform,
                   );
   
   my $tid='2';
   my $content='content';
   my $navigation='navigation';
   my $varscd = 'Supplemental Course Documents';
   
   $r->print(&generate_edit_table($tid,$content,$navigation,$varscd,\%supnamehash,\%suporderhash));
   my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type);
          if ($error) {
              $r->print('<p><span class="LC_error">'.$error.'</span></p>');
        }         }
     }  $r->print('</div>');
     $r->print('</table>');   } 
      }
   $r->print('<div class="LC_ContentBox" id="Special Admin Options" style="display: none;">');
   $r->print(&generate_admin_options($containertag,$uploadtag,\%help,\%env));
   $r->print('</div>');
   $r->print('</div>');
     if ($allowed) {      if ($allowed) {
  $r->print('   $r->print('
 <form method="post" name="extimport" action="/adm/coursedocs">  <form method="post" name="extimport" action="/adm/coursedocs">
Line 3284  ENDSUPFORM Line 3302  ENDSUPFORM
  return OK;   return OK;
 }   } 
   
   sub generate_admin_options {
     my ($containertag,$uploadtag,$help_ref,$env_ref) = @_;
    my %lt=&Apache::lonlocal::texthash(
                                            'vc' => 'Verify Content',
                                            'cv' => 'Check/Set Resource Versions',
                                            'ls' => 'List Symbs',
                                            'sl' => 'Show Log'
                                             );
     my %help = %{$help_ref};
     my %env = %{$env_ref};
     my $dumpbut=&dumpbutton();
     my $exportbut=&exportbutton();
     return (<<ENDOPTIONFORM);
    <form action="/adm/coursedocs" method="post" name="courseverify">
      <ul style="list-style-type:none">
          <li>
              <input type="submit" name="verify" value="$lt{'vc'}" />$help{'Verify_Content'}
          </li>
          <li>
              <input type="submit" name="versions" value="$lt{'cv'}" />$help{'Check_Resource_Versions'}
          </li>
          <li>
              $dumpbut
          </li>
          <li>
              $exportbut
          </li>
          <li>
             <input type="submit" name="listsymbs" value="$lt{'ls'}" />
           </li>
           <li>
             <input type="hidden" name="folder" value="$env{'form.folder'}" />
             <input type="submit" name="docslog" value="$lt{'sl'}" />
           </li>
      </ul>
    </form>
   <!-- <div style="clear: both; height: 0px;">&nbsp;</div>-->
   ENDOPTIONFORM
   
   }
   
   
   sub generate_edit_table {
       my ($tid,$content,$navigation,$varcd,$namehash_ref,$orderhash_ref) = @_;
       my %namehash = %{$namehash_ref};
       my %orderhash = %{$orderhash_ref};
       my $form;    
   
       $form = '<div class="LC_ContentBoxSpecial"><h4 class="LC_hcell">'.&mt($varcd).'</h4>';
       $form .= '<ul id="'.$navigation.$tid.'" class="LC_TabContent">';
       foreach my $name (sort(keys(%orderhash))){
           if($name eq 'zz'){
               $form .= '<li onclick="javascript:hideAll(this, \''.$navigation.$tid.'\' ,\''.$content.$tid.'\');" class="active">'.&mt($orderhash{$name}).'</li>';
           }else{
               $form .= '<li onclick="javascript:showPage(this, \''.$tid.$orderhash{$name}.'\', \''.$navigation.$tid.'\',\''.$content.$tid.'\');">'.&mt($orderhash{$name}).'</li>';
           }
       }
       $form .= '</ul>';
       $form .= '<div id="'.$content.$tid.'" style="padding: 0 0; margin: 0 0;">';
       foreach my $field (keys(%namehash)){
           $form .= '<div id="'.$tid.$field.'" class="LC_ContentBox" style="display: none;">'.$namehash{$field}.'</div>';
         }
       $form .= '</div></div>';
       
       return $form;
   }
   
 sub editing_js {  sub editing_js {
     my ($udom,$uname) = @_;      my ($udom,$uname) = @_;
Line 3294  sub editing_js { Line 3378  sub editing_js {
                                           p_mnp => 'Name of New Page',                                            p_mnp => 'Name of New Page',
                                           t_mnp => 'New Page',                                            t_mnp => 'New Page',
                                           p_mxu => 'Title for the Uploaded Score',                                            p_mxu => 'Title for the Uploaded Score',
                                           p_msp => 'Name of the Simple Course Page',                                            p_msp => 'Title for the Page',
                                           p_msb => 'Title for the Problem',                                            p_msb => 'Title for the Problem',
                                           p_mdb => 'Title for the Drop Box',                                            p_mdb => 'Title for the Drop Box',
                                           p_mbb => 'Title for the Discussion Board',                                            p_mbb => 'Title for the Discussion Board',
Line 3399  function makeabout() { Line 3483  function makeabout() {
    if ((comp[0]) && (comp[1])) {     if ((comp[0]) && (comp[1])) {
        this.document.forms.newaboutsomeone.importdetail.value=         this.document.forms.newaboutsomeone.importdetail.value=
    '$lt{"p_mab2"}'+escape(user)+'=/adm/'+comp[1]+'/'+comp[0]+'/aboutme';     '$lt{"p_mab2"}'+escape(user)+'=/adm/'+comp[1]+'/'+comp[0]+'/aboutme';
        this.document.forms.newaboutsomeone.submit();         this.document.forms.newaboutsomeone.submit();
    } else {     } else {
                alert("$lt{'p_mab_alrt1'}");         alert("$lt{'p_mab_alrt1'}");
            }  
        } else {  
            alert("$lt{'p_mab_alrt2'}");  
        }  
    }     }
   } else {
      alert("$lt{'p_mab_alrt2'}");
   }
   }
 }  }
   
 function makeims() {  function makeims() {
     var caller = document.forms.ims.folder.value;  var caller = document.forms.ims.folder.value;
     var newlocation = "/adm/imsimportdocs?folder="+caller+"&phase=one";  var newlocation = "/adm/imsimportdocs?folder="+caller+"&phase=one";
     newWindow = window.open("","IMSimport","HEIGHT=700,WIDTH=750,scrollbars=yes");  newWindow = window.open("","IMSimport","HEIGHT=700,WIDTH=750,scrollbars=yes");
     newWindow.location.href = newlocation;  newWindow.location.href = newlocation;
 }  }
   
   
 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;
     var form=this.document.forms.extimport.useform.value;  var form=this.document.forms.extimport.useform.value;
     var residx=this.document.forms.extimport.residx.value;  var residx=this.document.forms.extimport.residx.value;
     eval('this.document.forms.'+form+'.importdetail.value="'+title+'='+url+'='+residx+'";this.document.forms.'+form+'.submit();');  eval('this.document.forms.'+form+'.importdetail.value="'+title+'='+url+'='+residx+'";this.document.forms.'+form+'.submit();');
 }  }
   
 function changename(folderpath,index,oldtitle,container,pagesymb) {  function changename(folderpath,index,oldtitle,container,pagesymb) {
     var title=prompt('$lt{"p_chn"}',oldtitle);  var title=prompt('$lt{"p_chn"}',oldtitle);
     if (title) {  if (title) {
  this.document.forms.renameform.markcopy.value=-1;  this.document.forms.renameform.markcopy.value=-1;
  this.document.forms.renameform.title.value=title;  this.document.forms.renameform.title.value=title;
  this.document.forms.renameform.cmd.value='rename_'+index;  this.document.forms.renameform.cmd.value='rename_'+index;
         if (container == 'sequence') {  if (container == 'sequence') {
     this.document.forms.renameform.folderpath.value=folderpath;      this.document.forms.renameform.folderpath.value=folderpath;
         }  }
         if (container == 'page') {  if (container == 'page') {
             this.document.forms.renameform.pagepath.value=folderpath;      this.document.forms.renameform.pagepath.value=folderpath;
             this.document.forms.renameform.pagesymb.value=pagesymb;      this.document.forms.renameform.pagesymb.value=pagesymb;
         }  }
         this.document.forms.renameform.submit();  this.document.forms.renameform.submit();
     }  }
 }  }
   
 function removeres(folderpath,index,oldtitle,container,pagesymb,skip_confirm) {  function removeres(folderpath,index,oldtitle,container,pagesymb,skip_confirm) {
     if (skip_confirm || confirm('$lt{"p_rmr1"}\\n\\n$lt{"p_rmr2a"} "'+oldtitle+'" $lt{"p_rmr2b"}')) {  if (skip_confirm || confirm('$lt{"p_rmr1"}\\n\\n$lt{"p_rmr2a"} "'+oldtitle+'" $lt{"p_rmr2b"}')) {
  this.document.forms.renameform.markcopy.value=-1;  this.document.forms.renameform.markcopy.value=-1;
  this.document.forms.renameform.cmd.value='del_'+index;  this.document.forms.renameform.cmd.value='del_'+index;
         if (container == 'sequence') {  if (container == 'sequence') {
             this.document.forms.renameform.folderpath.value=folderpath;      this.document.forms.renameform.folderpath.value=folderpath;
         }  }
         if (container == 'page') {  if (container == 'page') {
             this.document.forms.renameform.pagepath.value=folderpath;      this.document.forms.renameform.pagepath.value=folderpath;
             this.document.forms.renameform.pagesymb.value=pagesymb;      this.document.forms.renameform.pagesymb.value=pagesymb;
         }  }
         this.document.forms.renameform.submit();  this.document.forms.renameform.submit();
     }  }
 }  }
   
 function cutres(folderpath,index,oldtitle,container,pagesymb,folder,skip_confirm) {  function cutres(folderpath,index,oldtitle,container,pagesymb,folder,skip_confirm) {
     if (skip_confirm || confirm('$lt{"p_ctr1a"}\\n$lt{"p_ctr1b"}\\n\\n$lt{"p_ctr2a"} "'+oldtitle+'" $lt{"p_ctr2b"}')) {  if (skip_confirm || confirm('$lt{"p_ctr1a"}\\n$lt{"p_ctr1b"}\\n\\n$lt{"p_ctr2a"} "'+oldtitle+'" $lt{"p_ctr2b"}')) {
  this.document.forms.renameform.cmd.value='cut_'+index;  this.document.forms.renameform.cmd.value='cut_'+index;
  this.document.forms.renameform.markcopy.value=index;  this.document.forms.renameform.markcopy.value=index;
  this.document.forms.renameform.copyfolder.value=folder+'.'+container;  this.document.forms.renameform.copyfolder.value=folder+'.'+container;
         if (container == 'sequence') {  if (container == 'sequence') {
             this.document.forms.renameform.folderpath.value=folderpath;      this.document.forms.renameform.folderpath.value=folderpath;
         }  }
         if (container == 'page') {  if (container == 'page') {
             this.document.forms.renameform.pagepath.value=folderpath;      this.document.forms.renameform.pagepath.value=folderpath;
             this.document.forms.renameform.pagesymb.value=pagesymb;      this.document.forms.renameform.pagesymb.value=pagesymb;
         }  }
         this.document.forms.renameform.submit();  this.document.forms.renameform.submit();
     }  }
 }  }
   
 function markcopy(folderpath,index,oldtitle,container,pagesymb,folder) {  function markcopy(folderpath,index,oldtitle,container,pagesymb,folder) {
     this.document.forms.renameform.markcopy.value=index;  this.document.forms.renameform.markcopy.value=index;
     this.document.forms.renameform.copyfolder.value=folder+'.'+container;  this.document.forms.renameform.copyfolder.value=folder+'.'+container;
     if (container == 'sequence') {  if (container == 'sequence') {
  this.document.forms.renameform.folderpath.value=folderpath;  this.document.forms.renameform.folderpath.value=folderpath;
     }  }
     if (container == 'page') {  if (container == 'page') {
  this.document.forms.renameform.pagepath.value=folderpath;  this.document.forms.renameform.pagepath.value=folderpath;
  this.document.forms.renameform.pagesymb.value=pagesymb;  this.document.forms.renameform.pagesymb.value=pagesymb;
     }  }
     this.document.forms.renameform.submit();  this.document.forms.renameform.submit();
   }
   
   function unselectInactive(nav) {
   currentNav = document.getElementById(nav);
   currentLis = currentNav.getElementsByTagName('LI');
   for (i = 0; i < currentLis.length; i++) {
    currentLis[i].className = 'i';
   }
   }
   
   function hideAll(current, nav, data) {
   unselectInactive(nav);
   current.className = 'active';
   currentData = document.getElementById(data);
   currentDivs = currentData.getElementsByTagName('DIV');
   for (i = 0; i < currentDivs.length; i++) {
    if(currentDivs[i].className == 'LC_ContentBox'){
    currentDivs[i].style.display = 'none';
    }
   }
   }
   
   function showPage(current, pageId, nav, data) {
    hideAll(current, nav, data);
    unselectInactive(nav);
    current.className = 'active';
    currentData = document.getElementById(pageId);
    currentData.style.display = 'block';
    return false;
 }  }
   
 ENDNEWSCRIPT  ENDNEWSCRIPT

Removed from v.1.325.2.5  
changed lines
  Added in v.1.342


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