Diff for /loncom/interface/londocs.pm between versions 1.541 and 1.544

version 1.541, 2013/04/02 00:07:08 version 1.544, 2013/05/06 14:12:21
Line 1066  END Line 1066  END
   
 }  }
   
   
 sub do_paste_from_buffer {  sub do_paste_from_buffer {
     my ($coursenum,$coursedom,$folder,$container,$errors) = @_;      my ($coursenum,$coursedom,$folder,$container,$errors) = @_;
   
Line 2270  sub update_parameter { Line 2269  sub update_parameter {
   
 sub handle_edit_cmd {  sub handle_edit_cmd {
     my ($coursenum,$coursedom) =@_;      my ($coursenum,$coursedom) =@_;
     return if ($env{'form.cmd'} eq '');      if ($env{'form.cmd'} eq '') {
           return 0;
       }
     my ($cmd,$idx)=split('_',$env{'form.cmd'});      my ($cmd,$idx)=split('_',$env{'form.cmd'});
   
     my $ratstr = $LONCAPA::map::resources[$LONCAPA::map::order[$idx]];      my $ratstr = $LONCAPA::map::resources[$LONCAPA::map::order[$idx]];
Line 2598  sub editor { Line 2599  sub editor {
   
     my ($to_show,$output,@allidx,@allmapidx,%filters,%lists,%curr_groups);      my ($to_show,$output,@allidx,@allmapidx,%filters,%lists,%curr_groups);
     %filters =  (      %filters =  (
                   canremove => [],                    canremove      => [],
                   cancut    => [],                    cancut         => [],
                   cancopy   => [],                    cancopy        => [],
                     hiddenresource => [],
                     encrypturl     => [],
                     randomorder    => [],
                     randompick     => [],
                 );                  );
     %curr_groups = &Apache::longroup::coursegroups();      %curr_groups = &Apache::longroup::coursegroups();
     &Apache::loncommon::start_data_table_count(); #setup a row counter       &Apache::loncommon::start_data_table_count(); #setup a row counter 
Line 2625  sub editor { Line 2630  sub editor {
   
     my $need_save;      my $need_save;
     if (($allowed) || ($supplementalflag && $folder eq 'supplemental')) {      if (($allowed) || ($supplementalflag && $folder eq 'supplemental')) {
         my $toolslink = '<table><tr><td>'          my $toolslink;
           if ($allowed || &Apache::lonnet::allowed('mdc',$env{'request.course.id'})) {
               $toolslink = '<table><tr><td>'
                        .&Apache::loncommon::help_open_menu('Navigation Screen',                         .&Apache::loncommon::help_open_menu('Navigation Screen',
                                                            'Navigation_Screen',undef,'RAT')                                                             'Navigation_Screen',undef,'RAT')
                        .'</td><td class="LC_middle">'.&mt('Tools:').'</td>'                         .'</td><td class="LC_middle">'.&mt('Tools:').'</td>'
Line 2635  sub editor { Line 2642  sub editor {
                        .'class="LC_toolbarItem" '                         .'class="LC_toolbarItem" '
                        .'title="'.&mt('Supplemental Content Editor').'">'                         .'title="'.&mt('Supplemental Content Editor').'">'
                        .'</a></li></ul></td></tr></table><br />';                         .'</a></li></ul></td></tr></table><br />';
           }
         if ($shown) {          if ($shown) {
             if ($allowed) {              if ($allowed) {
                 $to_show = &Apache::loncommon::start_scrollbox('900px','880px','400px','contentscroll')                  $to_show = &Apache::loncommon::start_scrollbox('900px','880px','400px','contentscroll')
Line 2650  sub editor { Line 2658  sub editor {
                 if ($folder !~ /^supplemental/) {                  if ($folder !~ /^supplemental/) {
                     $lists{'canhide'} = join(',',@allidx);                      $lists{'canhide'} = join(',',@allidx);
                     $lists{'canrandomlyorder'} = join(',',@allmapidx);                      $lists{'canrandomlyorder'} = join(',',@allmapidx);
                     foreach my $item ('canremove','cancut','cancopy') {                      my @possfilters = ('canremove','cancut','cancopy','hiddenresource','encrypturl',
                                          'randomorder','randompick');
                       foreach my $item (@possfilters) {
                         if (ref($filters{$item}) eq 'ARRAY') {                          if (ref($filters{$item}) eq 'ARRAY') {
                             $lists{$item} = join(',',@{$filters{$item}});                               if (@{$filters{$item}} > 0) {
                                   $lists{$item} = join(',',@{$filters{$item}});
                               }
                         }                          }
                     }                      }
                     if (@allidx > 0) {                      if (@allidx > 0) {
Line 2774  sub multiple_check_form { Line 2786  sub multiple_check_form {
         '<input type="hidden" name="allidx" value="'.$listsref->{'canhide'}.'" />';          '<input type="hidden" name="allidx" value="'.$listsref->{'canhide'}.'" />';
     if ($caller eq 'settings') {      if ($caller eq 'settings') {
         $output .=           $output .= 
         '<input type="hidden" name="allmapidx" value="'.$listsref->{'canrandomlyorder'}.'" />';          '<input type="hidden" name="allmapidx" value="'.$listsref->{'canrandomlyorder'}.'" />'."\n".
           '<input type="hidden" name="currhiddenresource" value="'.$listsref->{'hiddenresource'}.'" />'."\n".
           '<input type="hidden" name="currencrypturl" value="'.$listsref->{'encrypturl'}.'" />'."\n".
           '<input type="hidden" name="currrandomorder" value="'.$listsref->{'randomorder'}.'" />'."\n".
           '<input type="hidden" name="currrandompick" value="'.$listsref->{'randompick'}.'" />'."\n";
     } elsif ($caller eq 'actions') {      } elsif ($caller eq 'actions') {
         $output .=          $output .=
         '<input type="hidden" name="allremoveidx" id="allremoveidx" value="'.$listsref->{'canremove'}.'" />'.          '<input type="hidden" name="allremoveidx" id="allremoveidx" value="'.$listsref->{'canremove'}.'" />'.
Line 3057  END Line 3073  END
  }   }
   
  if ($denied{'copy'}) {   if ($denied{'copy'}) {
             $copylink=(<<ENDCOPY);              $copylink=(<<ENDCOPY)
 <span style="visibility: hidden;">$lt{'cp'}</span>  <span style="visibility: hidden;">$lt{'cp'}</span>
 ENDCOPY  ENDCOPY
         } else {          } else {
Line 3083  ENDCUT Line 3099  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="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>  <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
Line 3100  ENDREM Line 3117  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="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>  <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
Line 3222  END Line 3240  END
             my $rpckchk;              my $rpckchk;
             if ($rpicknum) {              if ($rpicknum) {
                 $rpckchk = ' checked="checked"';                  $rpckchk = ' checked="checked"';
                   if (($ishash) && (ref($filtersref->{'randompick'}) eq 'ARRAY')) {
                       push(@{$filtersref->{'randompick'}},$orderidx.':'.$rpicknum);
                   }
             }              }
             my $formname = 'edit_randompick_'.$orderidx;              my $formname = 'edit_randompick_'.$orderidx;
     $rand_pick_text =       $rand_pick_text = 
Line 3234  $form_common."\n". Line 3255  $form_common."\n".
             }              }
             $rand_pick_text .= '</span></span>'.              $rand_pick_text .= '</span></span>'.
                                $form_end;                                 $form_end;
        my $ro_set=              my $ro_set;
         ((&LONCAPA::map::getparameter($orderidx,'parameter_randomorder'))[0]=~/^yes$/i?' checked="checked"':'');              if ((&LONCAPA::map::getparameter($orderidx,'parameter_randomorder'))[0]=~/^yes$/i) {
                   $ro_set = 'checked="checked"';
                   if (($ishash) && (ref($filtersref->{'randomorder'}) eq 'ARRAY')) {
                       push(@{$filtersref->{'randomorder'}},$orderidx);
                   }
               }
             my $formname = 'edit_rorder_'.$orderidx;              my $formname = 'edit_rorder_'.$orderidx;
     $rand_order_text =       $rand_order_text = 
 '<form action="/adm/coursedocs" method="post" name="'.$formname.'">'."\n".  '<form action="/adm/coursedocs" method="post" name="'.$formname.'">'."\n".
Line 3312  $form_end; Line 3338  $form_end;
   my %lt=&Apache::lonlocal::texthash(    my %lt=&Apache::lonlocal::texthash(
        'hd' => 'Hidden',         'hd' => 'Hidden',
        'ec' => 'URL hidden');         'ec' => 'URL hidden');
  my $enctext=          my ($enctext,$hidtext);
     ((&LONCAPA::map::getparameter($orderidx,'parameter_encrypturl'))[0]=~/^yes$/i?' checked="checked"':'');          if ((&LONCAPA::map::getparameter($orderidx,'parameter_encrypturl'))[0]=~/^yes$/i) {
  my $hidtext=              $enctext = ' checked="checked"';
     ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i?' checked="checked"':'');              if (($ishash) && (ref($filtersref->{'encrypturl'}) eq 'ARRAY')) {
                   push(@{$filtersref->{'encrypturl'}},$orderidx);
               }
           }
           if ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i) {
               $hidtext = ' checked="checked"';
               if (($ishash) && (ref($filtersref->{'randomorder'}) eq 'ARRAY')) {
                   push(@{$filtersref->{'hiddenresource'}},$orderidx);
               }
           }
         my $formhidden = 'edit_hiddenresource_'.$orderidx;          my $formhidden = 'edit_hiddenresource_'.$orderidx;
         my $formurlhidden = 'edit_encrypturl_'.$orderidx;          my $formurlhidden = 'edit_encrypturl_'.$orderidx;
  $line.=(<<ENDPARMS);   $line.=(<<ENDPARMS);
Line 5306  sub editing_js { Line 5341  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 5317  sub editing_js { Line 5356  sub editing_js {
                                           titbl   => 'Title is blank',                                            titbl   => 'Title is blank',
                                           more    => '(More ...)',                                            more    => '(More ...)',
                                           less    => '(Less ...)',                                            less    => '(Less ...)',
                                             noor    => 'No actions selected or changes to settings specified.',
                                             noch    => 'No changes to settings specified.',
                                             noac    => 'No actions selected.',
                                         );                                          );
   
     my $crstype = &Apache::loncommon::course_type();      my $crstype = &Apache::loncommon::course_type();
Line 5340  sub editing_js { Line 5382  sub editing_js {
             if (&Apache::lonnet::is_on_map($res)) {              if (&Apache::lonnet::is_on_map($res)) {
                 $backtourl = &HTML::Entities::encode(&Apache::lonnet::clutter($res),'<>&"').'?symb='.                  $backtourl = &HTML::Entities::encode(&Apache::lonnet::clutter($res),'<>&"').'?symb='.
                              &HTML::Entities::encode($caller,'<>&"');                               &HTML::Entities::encode($caller,'<>&"');
               } else {
                   $backtourl = '/adm/navmaps';
             }              }
         }          }
     } elsif ($env{'docs.exit.'.$env{'request.course.id'}} eq '/adm/menu') {      } elsif ($env{'docs.exit.'.$env{'request.course.id'}} eq '/adm/menu') {
Line 5950  function checkSubmits() { Line 5994  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 5959  function checkSubmits() { Line 6005  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 5971  function checkSubmits() { Line 6022  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 5992  function checkSubmits() { Line 6048  function checkSubmits() {
         }          }
     }      }
     var dosettings = multiSettings();      var dosettings = multiSettings();
       var haschanges = 0;
     if (dosettings == 1) {      if (dosettings == 1) {
         form.allencrypturl.value = '';          form.allencrypturl.value = '';
         form.allhiddenresource.value = '';          form.allhiddenresource.value = '';
         form.changeparms.value = 'all';           form.changeparms.value = 'all';
           var patt=new RegExp(",\$");
         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 6012  function checkSubmits() { Line 6070  function checkSubmits() {
                         }                          }
                     }                      }
                 }                  }
                   form.allhiddenresource.value = form.allhiddenresource.value.replace(patt,"");
                   form.allencrypturl.value = form.allencrypturl.value.replace(patt,"");
             }              }
         }          }
         form.allrandompick.value = '';          form.allrandompick.value = '';
Line 6030  function checkSubmits() { Line 6090  function checkSubmits() {
                     form.allrandomorder.value += allmapidxs[i]+',';                      form.allrandomorder.value += allmapidxs[i]+',';
                 }                  }
             }              }
               form.allrandompick.value = form.allrandompick.value.replace(patt,"");
               form.allrandomorder.value = form.allrandomorder.value.replace(patt,"");
           }
           if (document.cumulativesettings.currhiddenresource.value != form.allhiddenresource.value) {
               haschanges = 1;
           }
           if (document.cumulativesettings.currencrypturl.value != form.allencrypturl.value) {
               haschanges = 1;
           }
           if (document.cumulativesettings.currrandomorder.value != form.allrandomorder.value) {
               haschanges = 1;
           }
           if (document.cumulativesettings.currrandompick.value != form.allrandompick.value) {
               haschanges = 1;
           }
       }
       if (doactions == 1) {
           if (numchanges > 0) {
               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;
           }
       }
       if (dosettings == 1) {
           if (haschanges == 1) {
               form.submit();
               return true;
           }
       }
       if ((dosettings == 1) && (doactions == 1)) {
           alert("$lt{'noor'}");
       } else {
           if (dosettings == 1) {
               alert("$lt{'noch'}");
           } else {
               alert("$lt{'noac'}");
         }          }
     }      }
     if ((numchanges > 0) || (dosettings == 1)) {  
         form.submit();   
         return true;  
     }   
     return false;      return false;
 }  }
   

Removed from v.1.541  
changed lines
  Added in v.1.544


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