--- loncom/interface/londocs.pm 2012/08/27 14:33:15 1.494 +++ loncom/interface/londocs.pm 2012/10/31 05:10:16 1.500 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.494 2012/08/27 14:33:15 raeburn Exp $ +# $Id: londocs.pm,v 1.500 2012/10/31 05:10:16 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -322,7 +322,6 @@ sub breadcrumbs { @folders=split('&',$env{'form.folderpath'}); } my $folderpath; - my $cpinfo=''; my $plain=''; my $randompick=-1; my $isencrypted=0; @@ -355,7 +354,7 @@ sub breadcrumbs { $name = &mt('Supplemental '.$crstype.' Content'); } &Apache::lonhtmlcommon::add_breadcrumb( - {'href'=>$url.$cpinfo, + {'href'=>$url, 'title'=>$name, 'text'=>$name, 'no_mt'=>1, @@ -2152,7 +2151,6 @@ sub entryline { $path = &HTML::Entities::encode($env{'form.pagepath'},'<>&"'); $symb=&escape($env{'form.pagesymb'}); } - my $cpinfo=''; if ($allowed) { my $incindex=$index+1; my $selectbox=''; @@ -2184,6 +2182,7 @@ sub entryline { 'cp' => 'Copy'); my $nocopy=0; my $nocut=0; + my $noremove=0; if ($url=~ m{^/res/.+\.(page|sequence)$}) { # no copy for published maps $nocopy=1; @@ -2192,8 +2191,58 @@ sub entryline { $nocopy=1; $nocut=1; } + my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + if ($url eq "/uploaded/$cdom/$cnum/group_allfolders.sequence") { + if ($env{'form.folderpath'} =~ /^default&[^\&]+$/) { + my %curr_groups = &Apache::longroup::coursegroups(); + if (keys(%curr_groups) > 0) { + $noremove=1; + } + $nocut=1; + $nocopy=1; + } + } elsif ($url =~ m{^\Q/uploaded/$cdom/$cnum/group_folder_\E(\w+)\.sequence$}) { + my $group = $1; + if ($env{'form.folderpath'} =~ /^default&[^\&]+\&group_allfolders\&[^\&]+$/) { + my %curr_group = &Apache::longroup::coursegroups($cdom,$cnum,$group); + if (keys(%curr_group) > 0) { + $noremove=1; + } + } + $nocut=1; + $nocopy=1; + } elsif ($url =~ m{^\Q/adm/$cdom/$cnum/\E(\w+)/smppg$}) { + my $group = $1; + if ($env{'form.folderpath'} =~ /^default&[^\&]+\&group_allfolders\&[^\&]+\&\Qgroup_folder_$group\E\&[^\&]+$/) { + my %curr_group = &Apache::longroup::coursegroups($cdom,$cnum,$group); + my %groupsettings = &Apache::longroup::get_group_settings($curr_group{$group}); + if (keys(%groupsettings) > 0) { + $noremove=1; + } + $nocut=1; + $nocopy=1; + } + } elsif ($env{'form.folderpath'} =~ /^default&[^\&]+\&group_allfolders\&[^\&]+\&group_folder_(\w+)\&/) { + my $group = $1; + my %curr_group = &Apache::longroup::coursegroups($cdom,$cnum,$group); + if ($url =~ /group_boards_\Q$group\E/) { + my %curr_group = &Apache::longroup::coursegroups($cdom,$cnum,$group); + my %groupsettings = &Apache::longroup::get_group_settings($curr_group{$group}); + if (keys(%groupsettings) > 0) { + if (ref($groupsettings{'functions'}) eq 'HASH') { + if ($groupsettings{'functions'}{'discussion'} eq 'on') { + $noremove=1; + } + } + } + $nocut=1; + $nocopy=1; + } + } my $copylink=' '; my $cutlink=' '; + my $removelink=' '; my $skip_confirm = 0; if ( $folder =~ /^supplemental/ @@ -2217,6 +2266,11 @@ ENDCOPY $lt{'ct'} ENDCUT } + if (!$noremove) { + $removelink=(<$lt{'rm'} +ENDREM + } $form_start = '
'; @@ -2230,12 +2284,12 @@ END $line.=(<
- + $lt{
- + $lt{
@@ -2247,7 +2301,7 @@ END $form_end - $lt{'rm'} +$removelink $cutlink $lt{'rn'} $copylink @@ -2341,7 +2395,7 @@ END 'parameter_encrypturl'))[0]=~/^yes$/i) .':'.((&LONCAPA::map::getparameter($orderidx, 'parameter_randomorder'))[0]=~/^yes$/i); - $url.='folderpath='.&escape($folderpath).$cpinfo; + $url.='folderpath='.&escape($folderpath); my $rpicknum = (&LONCAPA::map::getparameter($orderidx, 'parameter_randompick'))[0]; my $rpckchk; @@ -2380,7 +2434,7 @@ $form_common.' $path.$pagearg.'.page'); } $url.='pagepath='.&escape($pagepath). - '&pagesymb='.&escape($symb).$cpinfo; + '&pagesymb='.&escape($symb); } if (($external) && ($allowed)) { my $form = ($folder =~ /^default/)? 'newext' : 'supnewext'; @@ -2808,7 +2862,8 @@ ENDHEADERS ''.&mt('History').''. ''); foreach my $key (sort(keys(%changes))) { - if ($changes{$key}>$starttime) { + #excludes not versionable problems from resource version history: + if ($changes{$key}>$starttime && $key !~ /^\/res\/lib\/templates/) { my ($root,$extension)=($key=~/^(.*)\.(\w+)$/); my $currentversion=&Apache::lonnet::getversion($key); if ($currentversion<0) { @@ -3926,7 +3981,7 @@ my %suporderhash = ( } elsif ($showdoc) { # -------------------------------------------------------- This is showdoc mode $r->print("

".&mt('Uploaded Document').' - '. - &Apache::lonnet::gettitle($r->uri).'

'. + &Apache::lonnet::gettitle($r->uri).'

'. &mt('It is recommended that you use an up-to-date virus scanner before handling this file.')."

". &entryline(0,&mt("Click to download or use your browser's Save Link function"),$showdoc).'
'); } @@ -4206,7 +4261,6 @@ sub generate_edit_table { $active = 'class="active"'; } $form .= '
  • '.&mt(${$orderhash{$name}}[0]).'
  • '."\n"; } else { $form .= '
  • '.${$orderhash{$name}}[1].'
  • '."\n";