Diff for /loncom/interface/londocs.pm between versions 1.571 and 1.578

version 1.571, 2013/12/18 18:56:41 version 1.578, 2014/03/09 15:49:48
Line 46  use Apache::lonsimplepage(); Line 46  use Apache::lonsimplepage();
 use HTML::Entities;  use HTML::Entities;
 use HTML::TokeParser;  use HTML::TokeParser;
 use GDBM_File;  use GDBM_File;
   use File::MMagic;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Cwd;  use Cwd;
 use LONCAPA qw(:DEFAULT :match);  use LONCAPA qw(:DEFAULT :match);
Line 301  ENDJS Line 302  ENDJS
                 if ($contents{content}) {                  if ($contents{content}) {
                     $content .= '                      $content .= '
 <div class="LC_Box">  <div class="LC_Box">
 <h4 class="LC_hcell">Content</h4>'.  <h4 class="LC_hcell">'.&mt('Content').'</h4>'.
 $contents{content}.'  $contents{content}.'
 </div>';  </div>';
                 }                  }
                 if ($contents{webreferences}) {                  if ($contents{webreferences}) {
                     $content .= '                       $content .= ' 
 <div class="LC_Box">  <div class="LC_Box">
 <h4 class="LC_hcell">Web References</h4>'.  <h4 class="LC_hcell">'.&mt('Web References').'</h4>'.
 $contents{webreferences}.'  $contents{webreferences}.'
 </div>';  </div>';
                 }                  }
Line 1087  sub update_paste_buffer { Line 1088  sub update_paste_buffer {
     }      }
     &Apache::lonnet::appenv(\%addtoenv);      &Apache::lonnet::appenv(\%addtoenv);
     delete($env{'form.markcopy'});      delete($env{'form.markcopy'});
       return;
 }  }
   
 sub recurse_uploaded_maps {  sub recurse_uploaded_maps {
Line 1124  sub print_paste_buffer { Line 1126  sub print_paste_buffer {
   
     my @currpaste = split(/,/,$env{'docs.markedcopies'});      my @currpaste = split(/,/,$env{'docs.markedcopies'});
     my ($pasteitems,@pasteable);      my ($pasteitems,@pasteable);
       my $clipboardcount = 0;
   
 # Construct identifiers for current contents of user's paste buffer  # Construct identifiers for current contents of user's paste buffer
     foreach my $suffix (@currpaste) {      foreach my $suffix (@currpaste) {
Line 1132  sub print_paste_buffer { Line 1135  sub print_paste_buffer {
         my $url = $env{'docs.markedcopy_url_'.$suffix};          my $url = $env{'docs.markedcopy_url_'.$suffix};
         if (($cid =~ /^$match_domain\_$match_courseid$/) &&          if (($cid =~ /^$match_domain\_$match_courseid$/) &&
             ($url ne '')) {              ($url ne '')) {
               $clipboardcount ++;
             my ($is_external,$othercourse,$fromsupp,$is_uploaded_map,$parent,              my ($is_external,$othercourse,$fromsupp,$is_uploaded_map,$parent,
                 $canpaste,$nopaste,$othercrs,$areachange);                  $canpaste,$nopaste,$othercrs,$areachange);
             my $extension = (split(/\./,$env{'docs.markedcopy_url_'.$suffix}))[-1];              my $extension = (split(/\./,$env{'docs.markedcopy_url_'.$suffix}))[-1];
Line 1225  sub print_paste_buffer { Line 1229  sub print_paste_buffer {
         $pasteitems .= '<div style="padding:0;clear:both;margin:0;border:0"></div>';          $pasteitems .= '<div style="padding:0;clear:both;margin:0;border:0"></div>';
         $form_start = '<form name="pasteform" action="/adm/coursedocs" method="post" onsubmit="return validateClipboard();">';          $form_start = '<form name="pasteform" action="/adm/coursedocs" method="post" onsubmit="return validateClipboard();">';
         if (@pasteable) {          if (@pasteable) {
             $buttons = '<input type="submit" name="pastemarked" value="'.&mt('Paste selected').'" />'.('&nbsp;'x2);              my $value = &mt('Paste to current folder');
               if ($container eq 'page') {
                   $value = &mt('Paste to current page');
               } 
               $buttons = '<input type="submit" name="pastemarked" value="'.$value.'" />'.('&nbsp;'x2);
         }          }
         $buttons .= '<input type="submit" name="clearmarked" value="'.&mt('Clear selected').'" />'.          $buttons .= '<input type="submit" name="clearmarked" value="'.&mt('Remove from clipboard').'" />'.('&nbsp;'x2);
                     '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" />';          if ($clipboardcount > 1) {
         $form_end = '</form>';              $buttons .=
                   '<span style="text-decoration:line-through">'.('&nbsp;'x20).'</span>'.('&nbsp;'x2).
                   '<input type="button" name="checkallclip" value="'.&mt('Check all').'" style="height:20px;" onclick="checkClipboard();" />'.
                   ('&nbsp;'x2).
                   '<input type="button" name="uncheckallclip" value="'.&mt('Uncheck all').'" style="height:20px;" onclick="uncheckClipboard();" />'.
                   ('&nbsp;'x2);
           }
           $form_end = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" />'.
                       '</form>';
     } else {      } else {
         $pasteitems = &mt('Clipboard is empty');          $pasteitems = &mt('Clipboard is empty');
     }      }
Line 1383  function validateClipboard() { Line 1399  function validateClipboard() {
     }      }
 }  }
   
   function checkClipboard() {
       if (document.pasteform.pasting.length > 1) {
           for (var i=0; i<document.pasteform.pasting.length; i++) {
               document.pasteform.pasting[i].checked = true;
           } 
       }
       return;
   }
   
   function uncheckClipboard() {
       if (document.pasteform.pasting.length >1) {
           for (var i=0; i<document.pasteform.pasting.length; i++) {
               document.pasteform.pasting[i].checked = false;
           }
       }
       return;
   }
   
 END  END
   
 }  }
Line 3143  sub process_file_upload { Line 3177  sub process_file_upload {
         $quotatype = 'community';              $quotatype = 'community';    
     } elsif ($env{'course.'.$coursedom.'_'.$coursenum.'.internal.instcode'}) {      } elsif ($env{'course.'.$coursedom.'_'.$coursenum.'.internal.instcode'}) {
         $quotatype = 'official';          $quotatype = 'official';
       } elsif ($env{'course.'.$coursedom.'_'.$coursenum.'.internal.textbook'}) {
           $quotatype = 'textbook';
     }      }
     if (&Apache::loncommon::get_user_quota($coursenum,$coursedom,'course',$quotatype)) {      if (&Apache::loncommon::get_user_quota($coursenum,$coursedom,'course',$quotatype)) {
         $filesize = int($filesize/1000); #expressed in kb          $filesize = int($filesize/1000); #expressed in kb
Line 3245  sub process_file_upload { Line 3281  sub process_file_upload {
                     $$upload_output .= &mt('No embedded items identified').'<br />';                      $$upload_output .= &mt('No embedded items identified').'<br />';
                 }                  }
                 $$upload_output = '<div id="uploadfileresult">'.$$upload_output.'</div>';                  $$upload_output = '<div id="uploadfileresult">'.$$upload_output.'</div>';
             } elsif (&Apache::loncommon::is_archive_file($mimetype)) {              } elsif ((&Apache::loncommon::is_archive_file($mimetype)) &&
                        ($env{'form.uploaddoc.filename'} =~ /\.(zip|tar|bz2|gz|tar.gz|tar.bz2|tgz)$/i)) {
                 $nextphase = 'decompress_uploaded';                  $nextphase = 'decompress_uploaded';
                 my $position = scalar(@LONCAPA::map::order)-1;                  my $position = scalar(@LONCAPA::map::order)-1;
                 my $noextract = &return_to_editor();                  my $noextract = &return_to_editor();
Line 3320  sub entryline { Line 3357  sub entryline {
   
     $renametitle=~s/\\/\\\\/g;      $renametitle=~s/\\/\\\\/g;
     $renametitle=~s/\&quot\;/\\\"/g;      $renametitle=~s/\&quot\;/\\\"/g;
       $renametitle=~s/\&#39;/\\\'/g;
     $renametitle=~s/ /%20/g;      $renametitle=~s/ /%20/g;
     my $line=&Apache::loncommon::start_data_table_row();      my $line=&Apache::loncommon::start_data_table_row();
     my ($form_start,$form_end,$form_common,$form_param);      my ($form_start,$form_end,$form_common,$form_param);
Line 4444  sub handler { Line 4482  sub handler {
                'Supplemental','Score_Upload_Form','Adding_Pages',                 'Supplemental','Score_Upload_Form','Adding_Pages',
                'Importing_LON-CAPA_Resource','Importing_IMS_Course',                 'Importing_LON-CAPA_Resource','Importing_IMS_Course',
                        'Uploading_From_Harddrive','Course_Roster','Web_Page',                         'Uploading_From_Harddrive','Course_Roster','Web_Page',
                        'Dropbox') {                         'Dropbox','Simple_Problem') {
  $help{$topic}=&Apache::loncommon::help_open_topic('Docs_'.$topic);   $help{$topic}=&Apache::loncommon::help_open_topic('Docs_'.$topic);
     }      }
     # Composite help files      # Composite help files
Line 4452  sub handler { Line 4490  sub handler {
     'Docs_About_Syllabus,Docs_Editing_Templated_Pages');      'Docs_About_Syllabus,Docs_Editing_Templated_Pages');
     $help{'Simple Page'} = &Apache::loncommon::help_open_topic(      $help{'Simple Page'} = &Apache::loncommon::help_open_topic(
     'Docs_About_Simple_Page,Docs_Editing_Templated_Pages');      'Docs_About_Simple_Page,Docs_Editing_Templated_Pages');
     $help{'Simple Problem'} = &Apache::loncommon::help_open_topic(  
     'Option_Response_Simple');  
     $help{'Bulletin Board'} = &Apache::loncommon::help_open_topic(      $help{'Bulletin Board'} = &Apache::loncommon::help_open_topic(
     'Docs_About_Bulletin_Board,Docs_Editing_Templated_Pages');      'Docs_About_Bulletin_Board,Docs_Editing_Templated_Pages');
     $help{'My Personal Information Page'} = &Apache::loncommon::help_open_topic(      $help{'My Personal Information Page'} = &Apache::loncommon::help_open_topic(
Line 4815  sub handler { Line 4851  sub handler {
                 'title' => 'Title',                  'title' => 'Title',
                 'comment' => 'Comment',                  'comment' => 'Comment',
                 'parse' => 'Upload embedded images/multimedia files if HTML file',                  'parse' => 'Upload embedded images/multimedia files if HTML file',
   );                  'bb5'      => 'Blackboard 5',
                   'bb6'      => 'Blackboard 6',
                   'angel5'   => 'ANGEL 5.5',
                   'webctce4' => 'WebCT 4 Campus Edition',
           );
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
  my $fileupload=(<<FIUP);   my $fileupload=(<<FIUP);
  $lt{'file'}:<br />   $lt{'file'}:<br />
Line 4846  CHBO Line 4886  CHBO
         $lt{'cms'}:&nbsp;           $lt{'cms'}:&nbsp; 
         <select name="source">          <select name="source">
         <option value="-1" selected="selected">$lt{'se'}</option>          <option value="-1" selected="selected">$lt{'se'}</option>
         <option value="bb5">Blackboard 5</option>          <option value="bb5">$lt{'bb5'}</option>
         <option value="bb6">Blackboard 6</option>          <option value="bb6">$lt{'bb6'}</option>
         <option value="angel5">ANGEL 5.5</option>          <option value="angel5">$lt{'angel5'}</option>
         <option value="webctce4">WebCT 4 Campus Edition</option>          <option value="webctce4">$lt{'webctce4'}</option>
         </select>          </select>
         <input type="hidden" name="folder" value="$imsfolder" />          <input type="hidden" name="folder" value="$imsfolder" />
         </p>          </p>
Line 5001  NSPFORM Line 5041  NSPFORM
  $pathitem   $pathitem
  <input type="hidden" name="importdetail" value="" />   <input type="hidden" name="importdetail" value="" />
  <a class="LC_menubuttons_link" href="javascript:makesmpproblem();">$lt{'sipr'}</a>   <a class="LC_menubuttons_link" href="javascript:makesmpproblem();">$lt{'sipr'}</a>
  $help{'Simple Problem'}   $help{'Simple_Problem'}
  </form>   </form>
   
 NSPROBFORM  NSPROBFORM
Line 6654  ENDINJECT Line 6694  ENDINJECT
 sub dump_switchserver_js {  sub dump_switchserver_js {
     my @hosts = @_;      my @hosts = @_;
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
         dump => 'Copying Content to Authoring Space requires switching server.',          dump => 'Copying content to Authoring Space requires switching server.',
         swit => 'Switch server?',          swit => 'Switch server?',
         duco => 'Copying Content to Authoring Space',          duco => 'Copying Content to Authoring Space',
         yone => 'You need to switch to a server housing an Authoring Space for which you are author or co-author.',          yone => 'You need to switch to a server housing an Authoring Space for which you are author or co-author.',

Removed from v.1.571  
changed lines
  Added in v.1.578


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