Diff for /loncom/interface/londocs.pm between versions 1.538 and 1.542

version 1.538, 2013/03/31 22:36:01 version 1.542, 2013/04/02 20:33:41
Line 834  sub print_paste_buffer { Line 834  sub print_paste_buffer {
                         $othercourse = 1;                          $othercourse = 1;
                         if ($env{"user.priv.cm./$srcdom/$srcnum"} =~ /\Q:mdc&F\E/) {                          if ($env{"user.priv.cm./$srcdom/$srcnum"} =~ /\Q:mdc&F\E/) {
                             if ($canpaste) {                              if ($canpaste) {
                                 $othercrs = '<br />'.&mt('(from another course).');                                  $othercrs = '<br />'.&mt('(from another course)');
                             }                              }
                         } else {                          } else {
                             $canpaste = 0;                              $canpaste = 0;
Line 902  sub print_paste_buffer { Line 902  sub print_paste_buffer {
     my ($pasteform,$form_start,$buttons,$form_end);      my ($pasteform,$form_start,$buttons,$form_end);
     if ($pasteitems) {      if ($pasteitems) {
         $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">';          $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);              $buttons = '<input type="submit" name="pastemarked" value="'.&mt('Paste selected').'" />'.('&nbsp;'x2);
         }          }
Line 1009  sub paste_popup_js { Line 1009  sub paste_popup_js {
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
                                           show => 'Show Options',                                            show => 'Show Options',
                                           hide => 'Hide Options',                                            hide => 'Hide Options',
                                             none => 'No items selected from clipboard.',
                                         );                                          );
     return <<"END";      return <<"END";
   
Line 1038  function showOptions(caller,suffix) { Line 1039  function showOptions(caller,suffix) {
     return;      return;
 }  }
   
   function validateClipboard() {
       var numchk = 0;
       if (document.pasteform.pasting.length > 1) {
           for (var i=0; i<document.pasteform.pasting.length; i++) {
               if (document.pasteform.pasting[i].checked) {
                   numchk ++;
               }
           }
       } else {
           if (document.pasteform.pasting.type == 'checkbox') {
               if (document.pasteform.pasting.checked) {
                   numchk ++; 
               } 
           }
       }
       if (numchk > 0) { 
           return true;
       } else {
           alert("$lt{'none'}");
           return false;
       }
   }
   
 END  END
   
 }  }
   
   
 sub do_paste_from_buffer {  sub do_paste_from_buffer {
     my ($coursenum,$coursedom,$folder,$container,$errors) = @_;      my ($coursenum,$coursedom,$folder,$container,$errors) = @_;
   
Line 2170  sub update_parameter { Line 2193  sub update_parameter {
                     }                      }
                 }                  }
             } else {              } else {
                 map { $allchecked{$which}{$_} = 1; } split(/,/,$env{'form.all'.$which});                  if ($env{'form.all'.$which}) {
                       map { $allchecked{$which}{$_} = 1; } split(/,/,$env{'form.all'.$which});
                   }
             }              }
         }          }
         my $haschanges = 0;          my $haschanges = 0;
Line 2349  sub editor { Line 2374  sub editor {
             my ($paste_res,$save_error,$pastemsgarray,$lockerror) =              my ($paste_res,$save_error,$pastemsgarray,$lockerror) =
                 &do_paste_from_buffer($coursenum,$coursedom,$folder,$container,                  &do_paste_from_buffer($coursenum,$coursedom,$folder,$container,
                                       \%paste_errors);                                        \%paste_errors);
                 if (ref($pastemsgarray) eq 'ARRAY') {              if (ref($pastemsgarray) eq 'ARRAY') {
                     if (@{$pastemsgarray} > 0) {                  if (@{$pastemsgarray} > 0) {
                                                 $r->print('<p class="LC_info">'.
                         $r->print('<p class="LC_info">'.                                join('<br />',@{$pastemsgarray}).
                                   join('<br />',@{$pastemsgarray}).  
                                   '</p>');  
                     }  
                 }  
                 if ($lockerror) {  
                     $r->print('<p class="LC_error">'.  
                               $lockerror.  
                               '</p>');                                '</p>');
                 }                  }
                 if ($save_error ne '') {              }
                     return $save_error;               if ($lockerror) {
                   $r->print('<p class="LC_error">'.
                             $lockerror.
                             '</p>');
               }
               if ($save_error ne '') {
                   return $save_error; 
               }
               if ($paste_res) {
                   my %errortext = &Apache::lonlocal::texthash (
                                       fail      => 'Storage of folder contents failed',
                                       failread  => 'Reading folder contents failed',
                                       failstore => 'Storage of folder contents failed',
                                   );
                   if ($errortext{$paste_res}) {
                       $r->print('<p class="LC_error">'.$errortext{$paste_res}.'</p>');
                 }                  }
             if ($paste_res ne 'ok') {  
                 $r->print('<p class="LC_error">'.$paste_res.'</p>');  
             }              }
             if (keys(%paste_errors) > 0) {              if (keys(%paste_errors) > 0) {
                 $r->print('<p class="LC_warning">'."\n".                  $r->print('<p class="LC_warning">'."\n".
Line 3034  ENDCOPY Line 3065  ENDCOPY
     $copylink=(<<ENDCOPY);      $copylink=(<<ENDCOPY);
 <form name="$formname" method="post" action="/adm/coursedocs">  <form name="$formname" method="post" action="/adm/coursedocs">
 $form_common  $form_common
 <input type="checkbox" name="copy" id="copy_$orderidx" value="$orderidx" onclick="javascript:singleCheck(this,'$orderidx','copy');" class="LC_hidden"><a href="$js" class="LC_docs_copy">$lt{'cp'}</a>  <input type="checkbox" name="copy" id="copy_$orderidx" value="$orderidx" onclick="javascript:singleCheck(this,'$orderidx','copy');" class="LC_hidden" /><a href="$js" class="LC_docs_copy">$lt{'cp'}</a>
 $form_end  $form_end
 ENDCOPY  ENDCOPY
             if (($ishash) && (ref($filtersref->{'cancopy'}) eq 'ARRAY')) {              if (($ishash) && (ref($filtersref->{'cancopy'}) eq 'ARRAY')) {
Line 3051  ENDCUT Line 3082  ENDCUT
     $cutlink=(<<ENDCUT);      $cutlink=(<<ENDCUT);
 <form name="$formname" method="post" action="/adm/coursedocs">  <form name="$formname" method="post" action="/adm/coursedocs">
 $form_common  $form_common
 <input type="checkbox" name="cut" id="cut_$orderidx" value="$orderidx" onclick="javascript:singleCheck(this,'$orderidx','cut');" class="LC_hidden"><a href="$js" class="LC_docs_cut">$lt{'ct'}</a>  <input type="hidden" name="skip_$orderidx" id="skip_cut_$orderidx" value="$skip_confirm" />
   <input type="checkbox" name="cut" id="cut_$orderidx" value="$orderidx" onclick="javascript:singleCheck(this,'$orderidx','cut');" class="LC_hidden" /><a href="$js" class="LC_docs_cut">$lt{'ct'}</a>
 $form_end  $form_end
 ENDCUT  ENDCUT
             if (($ishash) && (ref($filtersref->{'cancut'}) eq 'ARRAY')) {              if (($ishash) && (ref($filtersref->{'cancut'}) eq 'ARRAY')) {
Line 3068  ENDREM Line 3100  ENDREM
             $removelink=(<<ENDREM);              $removelink=(<<ENDREM);
 <form name="$formname" method="post" action="/adm/coursedocs">  <form name="$formname" method="post" action="/adm/coursedocs">
 $form_common  $form_common
 <input type="checkbox" name="remove" id="remove_$orderidx" value="$orderidx" onclick="javascript:singleCheck(this,'$orderidx','remove');" class="LC_hidden"><a href="$js" class="LC_docs_remove">$lt{'rm'}</a>  <input type="hidden" name="skip_$orderidx" id="skip_remove_$orderidx" value="$skip_confirm" />
   <input type="checkbox" name="remove" id="remove_$orderidx" value="$orderidx" onclick="javascript:singleCheck(this,'$orderidx','remove');" class="LC_hidden" /><a href="$js" class="LC_docs_remove">$lt{'rm'}</a>
 $form_end  $form_end
 ENDREM  ENDREM
             if (($ishash) && (ref($filtersref->{'canremove'}) eq 'ARRAY')) {              if (($ishash) && (ref($filtersref->{'canremove'}) eq 'ARRAY')) {
Line 3100  ENDREN Line 3133  ENDREN
    $selectbox     $selectbox
    $form_end     $form_end
 </td>  </td>
 <td class="LC_docs_entry_commands"><span class="LC_nobreak">  <td class="LC_docs_entry_commands LC_nobreak">
 $removelink  $removelink
 $cutlink  $cutlink
 $copylink  $copylink
 </span>  
 </td>  </td>
 END  END
     }      }
Line 5275  sub editing_js { Line 5307  sub editing_js {
                                           p_rmr1 => 'WARNING: Removing a resource makes associated grades and scores inaccessible!',                                            p_rmr1 => 'WARNING: Removing a resource makes associated grades and scores inaccessible!',
                                           p_rmr2a => 'Remove[_99]',                                            p_rmr2a => 'Remove[_99]',
                                           p_rmr2b => '?[_99]',                                            p_rmr2b => '?[_99]',
                                             p_rmr3a => 'Remove those [_2]',
                                             p_rmr3b => 'items?[_2]',
                                           p_ctr1a => 'WARNING: Cutting a resource makes associated grades and scores inaccessible!',                                            p_ctr1a => 'WARNING: Cutting a resource makes associated grades and scores inaccessible!',
                                           p_ctr1b => 'Grades remain inaccessible if resource is pasted into another folder.',                                            p_ctr1b => 'Grades remain inaccessible if resource is pasted into another folder.',
                                           p_ctr2a => 'Cut[_98]',                                            p_ctr2a => 'Cut[_98]',
                                           p_ctr2b => '?[_98]',                                            p_ctr2b => '?[_98]',
                                             p_ctr3a => 'Cut those[_2]',
                                             p_ctr3b => 'items?[_2]',
                                           rpck    => 'Enter number to pick (e.g., 3)',                                            rpck    => 'Enter number to pick (e.g., 3)',
                                           imsfile => 'You must choose an IMS package for import',                                            imsfile => 'You must choose an IMS package for import',
                                           imscms  => 'You must select which Course Management System was the source of the IMS package',                                            imscms  => 'You must select which Course Management System was the source of the IMS package',
Line 5643  function propagateState(form,param) { Line 5679  function propagateState(form,param) {
 }  }
   
 function checkForSubmit(targetform,param,context,idx,folderpath,index,oldtitle,skip_confirm,container,folder) {  function checkForSubmit(targetform,param,context,idx,folderpath,index,oldtitle,skip_confirm,container,folder) {
       var dosettings;
       var doaction;
     var control = document.togglemultsettings;      var control = document.togglemultsettings;
     if (context == 'actions') {      if (context == 'actions') {
         control = document.togglemultactions;          control = document.togglemultactions;
           doaction = 1; 
       } else {
           dosettings = 1;
     }      }
     if (control.showmultpick.length) {      if (control) {
         for (var i=0; i<control.showmultpick.length; i++) {          if (control.showmultpick.length) {
             if (control.showmultpick[i].checked) {              for (var i=0; i<control.showmultpick.length; i++) {
                 if (control.showmultpick[i].value == 0) {                  if (control.showmultpick[i].checked) {
                     if (context == 'settings') {                      if (control.showmultpick[i].value == 1) {
                         targetform.changeparms.value=param;                          if (context == 'settings') {
                         targetform.submit();                              dosettings = 0;
                     } else {                          } else {
                         targetform.cmd.value=param+'_'+index;                              doaction = 0;
                         targetform.folderpath.value=folderpath;  
                         targetform.markcopy.value=idx+':'+param;  
                         targetform.copyfolder.value=folder+'.'+container;  
                         if (param == 'remove') {  
                             if (skip_confirm || confirm('$lt{"p_rmr1"}\\n\\n$lt{"p_rmr2a"} "'+oldtitle+'" $lt{"p_rmr2b"}')) {  
                                 targetform.markcopy.value='';  
                                 targetform.copyfolder.value='';  
                                 targetform.submit();  
                             }  
                         }  
                         if (param == 'cut') {  
                             if (skip_confirm || confirm('$lt{"p_ctr1a"}\\n$lt{"p_ctr1b"}\\n\\n$lt{"p_ctr2a"} "'+oldtitle+'" $lt{"p_ctr2b"}')) {  
                                 targetform.submit();  
                             }  
                         }  
                         if (param == 'copy') {  
                             targetform.submit();  
                         }  
                         targetform.markcopy.value='';  
                         targetform.copyfolder.value='';  
                         targetform.cmd.value='';  
                         targetform.folderpath.value='';  
                     }  
                 } else {  
                     if (context == 'actions') {  
                         if (document.getElementById(param+'_'+idx)) {  
                             item = document.getElementById(param+'_'+idx);  
                             if (item.type == 'checkbox') {  
                                 if (item.checked) {  
                                     item.checked = false;  
                                 } else {  
                                     item.checked = true;  
                                 }  
                             }  
                         }                          }
                     }                      }
                 }                  }
             } else {  
                 if (document.getElementById(param+'_'+idx)) {  
                     checkbox = document.getElementById(param+'_'+idx);  
                     singleCheck(checkbox,idx,param);  
                 }  
             }              }
         }          }
     } else {      }
         if (context == 'settings') {      if (context == 'settings') {
           if (dosettings == 1) {
             targetform.changeparms.value=param;              targetform.changeparms.value=param;
             targetform.submit();              targetform.submit();
         }          }
     }      }
       if (context == 'actions') {
           if (doaction == 1) {
               targetform.cmd.value=param+'_'+index;
               targetform.folderpath.value=folderpath;
               targetform.markcopy.value=idx+':'+param;
               targetform.copyfolder.value=folder+'.'+container;
               if (param == 'remove') {
                   if (skip_confirm || confirm('$lt{"p_rmr1"}\\n\\n$lt{"p_rmr2a"} "'+oldtitle+'" $lt{"p_rmr2b"}')) {
                       targetform.markcopy.value='';
                       targetform.copyfolder.value='';
                       targetform.submit();
                   }
               }
               if (param == 'cut') {
                   if (skip_confirm || confirm('$lt{"p_ctr1a"}\\n$lt{"p_ctr1b"}\\n\\n$lt{"p_ctr2a"} "'+oldtitle+'" $lt{"p_ctr2b"}')) {
                       targetform.submit();
                       return;
                   }
               }
               if (param == 'copy') {
                   targetform.submit();
                   return;
               }
               targetform.markcopy.value='';
               targetform.copyfolder.value='';
               targetform.cmd.value='';
               targetform.folderpath.value='';
               return;
           } else {
               if (document.getElementById(param+'_'+idx)) {
                   item = document.getElementById(param+'_'+idx);
                   if (item.type == 'checkbox') {
                       if (item.checked) {
                           item.checked = false;
                       } else {
                           item.checked = true;
                           singleCheck(item,idx,param);
                       }
                   }
               }
           }
       }
     return;      return;
 }  }
   
Line 5910  function checkSubmits() { Line 5955  function checkSubmits() {
     var numchanges = 0;      var numchanges = 0;
     var form = document.saveactions;      var form = document.saveactions;
     var doactions = multiActions();      var doactions = multiActions();
       var cutwarnings = 0;
       var remwarnings = 0;
     if (doactions == 1) {      if (doactions == 1) {
         var remidxlist = document.cumulativeactions.allremoveidx.value;          var remidxlist = document.cumulativeactions.allremoveidx.value;
         if ((remidxlist != '') && (remidxlist != null)) {          if ((remidxlist != '') && (remidxlist != null)) {
Line 5919  function checkSubmits() { Line 5966  function checkSubmits() {
                     if (document.getElementById('remove_'+remidxs[i]).checked) {                      if (document.getElementById('remove_'+remidxs[i]).checked) {
                         form.multiremove.value += remidxs[i]+',';                          form.multiremove.value += remidxs[i]+',';
                         numchanges ++;                          numchanges ++;
                           if (document.getElementById('skip_remove_'+remidxs[i])) {
                               if (document.getElementById('skip_remove_'+remidxs[i]).value == 0) {
                                   remwarnings ++;
                               }
                           }
                     }                      }
                 }                  }
             }              }
Line 5931  function checkSubmits() { Line 5983  function checkSubmits() {
                     if (document.getElementById('cut_'+cutidxs[i]).checked == true) {                      if (document.getElementById('cut_'+cutidxs[i]).checked == true) {
                         form.multicut.value += cutidxs[i]+',';                          form.multicut.value += cutidxs[i]+',';
                         numchanges ++;                          numchanges ++;
                           if (document.getElementById('skip_cut_'+cutidxs[i])) {
                               if (document.getElementById('skip_cut_'+cutidxs[i]).value == 0) {
                                   cutwarnings ++;
                               }
                           }
                     }                      }
                 }                  }
             }              }
Line 5955  function checkSubmits() { Line 6012  function checkSubmits() {
     if (dosettings == 1) {      if (dosettings == 1) {
         form.allencrypturl.value = '';          form.allencrypturl.value = '';
         form.allhiddenresource.value = '';          form.allhiddenresource.value = '';
         form.changeparams.value = 'all';           form.changeparms.value = 'all'; 
         var allidxlist = document.cumulativesettings.allidx.value;          var allidxlist = document.cumulativesettings.allidx.value;
         if ((allidxlist != '') && (allidxlist != null)) {          if ((allidxlist != '') && (allidxlist != null)) {
             var allidxs = allidxlist.split(',');              var allidxs = allidxlist.split(',');
Line 5993  function checkSubmits() { Line 6050  function checkSubmits() {
         }          }
     }      }
     if ((numchanges > 0) || (dosettings == 1)) {      if ((numchanges > 0) || (dosettings == 1)) {
         form.submit();           if (numchanges > 0) {
         return true;              if ((cutwarnings > 0) || (remwarnings > 0)) {
                   if (remwarnings > 0) {
                       if (!confirm('$lt{"p_rmr1"}\\n\\n$lt{"p_rmr3a"} '+remwarnings+' $lt{"p_rmr3b"}')) {
                           return false;
                       }
                   }
                   if (cutwarnings > 0) {
                       if (!confirm('$lt{"p_ctr1a"}\\n$lt{"p_ctr1b"}\\n\\n$lt{"p_ctr3a"} '+cutwarnings+' $lt{"p_ctr3b"}')) {
                           return false;
                       }
                   }
               }
               form.submit();
               return true;
           } else {
               form.submit();
               return true;
           }
     }       } 
     return false;      return false;
 }  }

Removed from v.1.538  
changed lines
  Added in v.1.542


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