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

version 1.325.2.5, 2010/01/22 01:23:34 version 1.325.4.1, 2009/09/24 22:04:40
Line 145  sub dumpcourse { Line 145  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 265  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 '<div>'.
           .' value="'.&mt('IMS Export').'"'              '<input type="submit" name="exportcourse" value="'.
           .' title="'.&mt('Export '.$type.' to IMS Package').'" />'.              &mt('Export '.$type.' to IMS').'" />'.
     &Apache::loncommon::help_open_topic('Docs_Export_Course_Docs').'<br />';      &Apache::loncommon::help_open_topic('Docs_Export_Course_Docs').'</div>';
 }  }
   
   
Line 281  sub exportcourse { Line 281  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 302  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 325  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 362  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 389  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" alt="" />&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" alt="" />&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 472  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 507  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 1697  sub process_file_upload { Line 1653  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 2010  END Line 1966  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 2054  END Line 2010  END
  $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 2098  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" alt="" /><span class="LC_error">'.
                           &mt('[quant,_1,error]',$errorcount).'</span>');                            &mt('[quant,_1,error]',$errorcount).'</span>');
                      }                       }
      if ($warningcount) {       if ($warningcount) {
Line 2532  sub changewarning { Line 2488  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 2503  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 2613  sub handler { Line 2564  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 2697  sub handler { Line 2648  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 2825  sub handler { Line 2772  sub handler {
                 'grpo' => 'Group Portfolios',                  'grpo' => 'Group Portfolios',
                 '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' => 'If HTML file, upload embedded images/multimedia files'
   );    );
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
     my %tabtitles = (  
                        main => {  
                                  Course => &mt('Main Course Documents'),  
                                  Community => &mt('Main Community Documents'),  
                                },  
                        supplemental => {  
                                  Course => &mt('Supplemental Course Documents'),          
                                  Community => &mt('Supplemental Community Documents'),  
                                },  
                     );  
     if ($allowed) {      if ($allowed) {
  &update_paste_buffer($coursenum,$coursedom);   &update_paste_buffer($coursenum,$coursedom);
        my $dumpbut=&dumpbutton();         my $dumpbut=&dumpbutton();
Line 2858  sub handler { Line 2794  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'}) {
Line 2919  ENDCOURSEVERIFY Line 2856  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();';
        }         }
Line 2982  $uploadtag Line 2914  $uploadtag
 <form action="/adm/coursedocs" method="post" name="simpleeditdefault">  <form action="/adm/coursedocs" method="post" name="simpleeditdefault">
 $lt{'pubd'}<br />  $lt{'pubd'}<br />
 $uploadtag  $uploadtag
 <input type="button" onclick="javascript:groupsearch()" value="$lt{'srch'}" />  <input type="button" onClick="javascript:groupsearch()" value="$lt{'srch'}" />
 <br />  <br />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input type="button" onclick="javascript:groupimport();" value="$lt{'impo'}" />  <input type="button" onClick="javascript:groupimport();" value="$lt{'impo'}" />
 $help{'Importing_LON-CAPA_Resource'}  $help{'Importing_LON-CAPA_Resource'}
 </span>  </span>
 <br />  <br />
 <input type="button" onclick="javascript:groupopen(0,1,1);" value="$lt{'book'}" />  <input type="button" onClick="javascript:groupopen(0,1,1);" value="$lt{'book'}" />
 <hr />  <hr />
 <p>  <p>
 $lt{'copm'}<br />  $lt{'copm'}<br />
 <input type="text" size="40" name="importmap" /><br />  <input type="text" size="40" name="importmap" /><br />
 <span class="LC_nobreak"><input type="button"   <span class="LC_nobreak"><input type="button" 
 onclick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"  onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"
 value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" />  value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" />
 $help{'Load_Map'}</span>  $help{'Load_Map'}</span>
 </p>  </p>
 </form>  </form>
 <hr />  <hr />
 <form action="/adm/groupsort" method="post" name="recover">  <form action="/adm/groupsort" method="post" name="recover">
 <input type="button" name="recovermap" onclick="javascript:groupopen('$readfile',1,0)" value="$lt{'reco'}" />  <input type="button" name="recovermap" onClick="javascript:groupopen('$readfile',1,0)" value="$lt{'reco'}" />
 </form>  </form>
 ENDFORM  ENDFORM
        unless ($env{'form.pagepath'}) {         unless ($env{'form.pagepath'}) {
Line 3012  ENDFORM Line 2944  ENDFORM
 $uploadtag  $uploadtag
 <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" onclick="javascript:makenewext('newext');"  <input name="newext" type="button" onClick="javascript:makenewext('newext');"
 value="$lt{'extr'}" /> $help{'Adding_External_Resource'}  value="$lt{'extr'}" /> $help{'Adding_External_Resource'}
 </span>  </span>
 </form>  </form>
 <br /><form action="/adm/imsimportdocs" method="post" name="ims">  <br /><form action="/adm/imsimportdocs" method="post" name="ims">
 <input type="hidden" name="folder" value="$folder" />  <input type="hidden" name="folder" value="$folder" />
 <input name="imsimport" type="button" value="$lt{'imsf'}" title="$lt{imsl}" onclick="javascript:makeims();" />  <input name="imsimport" type="button" value="$lt{'imsf'}" onClick="javascript:makeims();" />
 </form>  </form>
 ENDFORM  ENDFORM
        }         }
Line 3031  ENDFORM Line 2963  ENDFORM
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newfolder" type="button"  <input name="newfolder" type="button"
 onclick="javascript:makenewfolder(this.form,'$folderseq');"  onClick="javascript:makenewfolder(this.form,'$folderseq');"
 value="$lt{'newf'}" />$help{'Adding_Folders'}  value="$lt{'newf'}" />$help{'Adding_Folders'}
 </span>  </span>
 </form>  </form>
Line 3040  value="$lt{'newf'}" />$help{'Adding_Fold Line 2972  value="$lt{'newf'}" />$help{'Adding_Fold
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newpage" type="button"  <input name="newpage" type="button"
 onclick="javascript:makenewpage(this.form,'$pageseq');"  onClick="javascript:makenewpage(this.form,'$pageseq');"
 value="$lt{'newp'}" />$help{'Adding_Pages'}  value="$lt{'newp'}" />$help{'Adding_Pages'}
 </span>  </span>
 </form>  </form>
Line 3067  $uploadtag Line 2999  $uploadtag
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newsmppg" type="button" value="$lt{'sipa'}"  <input name="newsmppg" type="button" value="$lt{'sipa'}"
 onclick="javascript:makesmppage();" /> $help{'Simple Page'}  onClick="javascript:makesmppage();" /> $help{'Simple Page'}
 </span>  </span>
 </form>  </form>
 <br /><form action="/adm/coursedocs" method="post" name="newsmpproblem">  <br /><form action="/adm/coursedocs" method="post" name="newsmpproblem">
Line 3075  $uploadtag Line 3007  $uploadtag
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newsmpproblem" type="button" value="$lt{'sipr'}"  <input name="newsmpproblem" type="button" value="$lt{'sipr'}"
 onclick="javascript:makesmpproblem();" />$help{'Simple Problem'}  onClick="javascript:makesmpproblem();" />$help{'Simple Problem'}
 </span>  </span>
 </form>  </form>
 <br /><form action="/adm/coursedocs" method="post" name="newdropbox">  <br /><form action="/adm/coursedocs" method="post" name="newdropbox">
Line 3083  $uploadtag Line 3015  $uploadtag
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">            <span class="LC_nobreak">          
 <input name="newdropbox" type="button" value="$lt{'drbx'}"  <input name="newdropbox" type="button" value="$lt{'drbx'}"
 onclick="javascript:makedropbox();" />  onClick="javascript:makedropbox();" />
 </span>           </span>         
 </form>   </form> 
 <br /><form action="/adm/coursedocs" method="post" name="newexamupload">  <br /><form action="/adm/coursedocs" method="post" name="newexamupload">
Line 3091  $uploadtag Line 3023  $uploadtag
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newexamupload" type="button" value="$lt{'scuf'}"  <input name="newexamupload" type="button" value="$lt{'scuf'}"
 onclick="javascript:makeexamupload();" />  onClick="javascript:makeexamupload();" />
 $help{'Score_Upload_Form'}  $help{'Score_Upload_Form'}
 </span>  </span>
 </form>  </form>
Line 3100  $uploadtag Line 3032  $uploadtag
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newbulletin" type="button" value="$lt{'bull'}"  <input name="newbulletin" type="button" value="$lt{'bull'}"
 onclick="javascript:makebulboard();" />  onClick="javascript:makebulboard();" />
 $help{'Bulletin Board'}  $help{'Bulletin Board'}
 </span>  </span>
 </form>  </form>
Line 3118  $uploadtag Line 3050  $uploadtag
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newaboutsomeone" type="button" value="$lt{'abou'}"   <input name="newaboutsomeone" type="button" value="$lt{'abou'}" 
 onclick="javascript:makeabout();" />  onClick="javascript:makeabout();" />
 </span>  </span>
 </form>  </form>
 <br /><form action="/adm/coursedocs" method="post" name="newgroupfiles">  <br /><form action="/adm/coursedocs" method="post" name="newgroupfiles">
Line 3148  $uploadtag Line 3080  $uploadtag
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newsmpproblem" type="button" value="$lt{'sipr'}"  <input name="newsmpproblem" type="button" value="$lt{'sipr'}"
 onclick="javascript:makesmpproblem();" />$help{'Simple Problem'}  onClick="javascript:makesmpproblem();" />$help{'Simple Problem'}
 </span>  </span>
 </form>  </form>
 <br /><form action="/adm/coursedocs" method="post" name="newexamupload">  <br /><form action="/adm/coursedocs" method="post" name="newexamupload">
Line 3156  $uploadtag Line 3088  $uploadtag
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newexamupload" type="button" value="$lt{'scuf'}"  <input name="newexamupload" type="button" value="$lt{'scuf'}"
 onclick="javascript:makeexamupload();" />  onClick="javascript:makeexamupload();" />
 $help{'Score_Upload_Form'}  $help{'Score_Upload_Form'}
 </span>  </span>
 </form>  </form>
Line 3178  ENDBLOCK Line 3110  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);         my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type);
        if ($error) {         if ($error) {
Line 3224  $lt{'comment'}:<br /> Line 3156  $lt{'comment'}:<br />
 <input type="hidden" name="importdetail" value="" />  <input type="hidden" name="importdetail" value="" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newfolder" type="button"  <input name="newfolder" type="button"
 onclick="javascript:makenewfolder(this.form,'$folderseq');"  onClick="javascript:makenewfolder(this.form,'$folderseq');"
 value="$lt{'newf'}" /> $help{'Adding_Folders'}  value="$lt{'newf'}" /> $help{'Adding_Folders'}
 </span>  </span>
 </form>  </form>
Line 3233  value="$lt{'newf'}" /> $help{'Adding_Fol Line 3165  value="$lt{'newf'}" /> $help{'Adding_Fol
 <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>

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


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