--- loncom/interface/portfolio.pm 2006/07/04 23:52:10 1.129 +++ loncom/interface/portfolio.pm 2006/07/05 22:52:53 1.131 @@ -1,7 +1,7 @@ # The LearningOnline Network # portfolio browser # -# $Id: portfolio.pm,v 1.129 2006/07/04 23:52:10 banghart Exp $ +# $Id: portfolio.pm,v 1.131 2006/07/05 22:52:53 banghart Exp $ # # Copyright Michigan State University Board of Trustees # @@ -183,6 +183,7 @@ sub display_directory { my $href_location="/uploaded/$udom/$uname/$port_path".$current_path; my $href_edit_location="/editupload/$udom/$uname/$port_path".$current_path; my @dir_lines; + my @version_lines; my %versioned; foreach my $line (sort { @@ -196,19 +197,25 @@ sub display_directory { $filename =~ s/\s+$//; my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename); if ($version) { + push(@version_lines, [$filename,$dom,$testdir,$size,$mtime,$obs]); $versioned{$fname.'.'.$extension} .= $version.","; + } else { + push(@dir_lines, [$filename,$dom,$testdir,$size,$mtime,$obs]); } - push(@dir_lines, [$filename,$dom,$testdir,$size,$mtime,$obs]); } foreach my $line (@dir_lines) { my ($filename,$dom,$testdir,$size,$mtime,$obs) = @$line; my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename); if (($filename ne '.') && ($filename ne '..') && ($filename !~ /\.meta$/ ) && ($filename !~ /(.*)\.(\d+)\.([^\.]*)$/)) { - my $version_flag; + my %version_flag; + my $show_versions; + if ($env{'form.showversions'} eq $filename) { + $show_versions = 'true'; + } if (exists($versioned{$filename})) { - $version_flag = ' (*) '; + $version_flag{$filename} = ''.&mt('closed folder').''; } else { - $version_flag = ''; + $version_flag{$filename} = ''; } if ($dirptr&$testdir) { my $colspan='colspan="2"'; @@ -217,7 +224,7 @@ sub display_directory { } $r->print(''.&mt('closed folder').''); $r->print('Go to ...'); - $r->print(''.&make_anchor($url,$filename.'/',$current_path.$filename.'/',$env{'form.mode'},$env{"form.fieldname"},$env{'form.continue'},$group).$version_flag.''); + $r->print(''.$version_flag{$filename}.&make_anchor($url,$filename.'/',$current_path.$filename.'/',$env{'form.mode'},$env{"form.fieldname"},$env{'form.continue'},$group).''); $r->print(''); } else { my $css_class = 'LC_browser_file'; @@ -247,7 +254,7 @@ sub display_directory { my $cat=''.&mt('Catalog Information').
                             ''; $line .= 'Rename'; - $line .= ''.$cat.''.$version_flag; + $line .= ''.$version_flag{$filename}.''.$cat.''; } $line .= ''; } @@ -288,8 +295,8 @@ sub display_directory { } } $r->print(''); - $r->print(''. - $filename.''.$version_flag.''); + $r->print(''.$version_flag{$filename}.''. + $filename.''); $r->print(''.$size.''); $r->print(''.&Apache::lonlocal::locallocaltime($mtime).''); if ($select_mode ne 'true') { @@ -1674,7 +1681,7 @@ sub handler { &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['selectfile','currentpath','meta','lockinfo','currentfile','action', 'fieldname','mode','rename','continue','group','access','setnum', - 'cnum','cdom','type','setroles']); + 'cnum','cdom','type','setroles','showversions']); my ($uname,$udom,$portfolio_root,$url,$group,$caller,$title); if ($r->uri =~ m|^(/adm/)([^/]+)|) { $url = $1.$2;