--- loncom/interface/portfolio.pm 2006/08/24 17:38:21 1.161 +++ loncom/interface/portfolio.pm 2006/09/19 14:02:42 1.163 @@ -1,7 +1,7 @@ # The LearningOnline Network # portfolio browser # -# $Id: portfolio.pm,v 1.161 2006/08/24 17:38:21 banghart Exp $ +# $Id: portfolio.pm,v 1.163 2006/09/19 14:02:42 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -294,7 +294,7 @@ sub display_directory { my $version_flag; my $show_versions; my $fullpath = &prepend_group($current_path.$filename); - if ($env{'form.showversions'} eq $filename) { + if ($env{'form.showversions'} =~ /$filename/) { $show_versions = 'true'; } if (exists($versioned{$fullpath})) { @@ -304,10 +304,15 @@ sub display_directory { 'currentpath' => $current_path, ); if ($show_versions) { + # Must preserve other possible showversion files + my $version_remainder = $env{'form.showversions'}; + $version_remainder =~ s/$filename//g; + $anchor_fields{'showversions'} = $version_remainder; $version_flag = &make_anchor('portfolio',\%anchor_fields, ''.&mt('opened folder').''); } else { - $anchor_fields{'showversions'} = $filename; + # allow multiple files to show versioned + $anchor_fields{'showversions'} = $env{'form.showversions'}.','.$filename; $version_flag = &make_anchor('portfolio',\%anchor_fields, ''.&mt('closed folder').''); } @@ -1683,16 +1688,19 @@ sub createdir { } sub get_portfolio_root { - my ($udom,$uname) = @_; + my ($udom,$uname,$group) = @_; if (!(defined($udom)) || !(defined($uname))) { ($uname,$udom) = &get_name_dom(); } - my $path; - if (defined($env{'form.group'})) { - $path = '/userfiles/groups/'.$env{'form.group'}.'/portfolio'; - } else { - $path = '/userfiles/portfolio'; + my $path = '/userfiles/portfolio'; + if (!defined($group)) { + if (defined($env{'form.group'})) { + $group = $env{'form.group'}; + } } + if (defined($group)) { + $path = '/userfiles/groups/'.$group.'/portfolio'; + } return (&Apache::loncommon::propath($udom,$uname).$path); }