version 1.130, 2006/07/05 22:29:05
|
version 1.132, 2006/07/08 01:20:40
|
Line 36 use Apache::lonfeedback;
|
Line 36 use Apache::lonfeedback;
|
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::longroup; |
use Apache::longroup; |
|
use Apache::lonhtmlcommon; |
use HTML::Entities; |
use HTML::Entities; |
use LONCAPA; |
use LONCAPA; |
|
|
Line 183 sub display_directory {
|
Line 184 sub display_directory {
|
my $href_location="/uploaded/$udom/$uname/$port_path".$current_path; |
my $href_location="/uploaded/$udom/$uname/$port_path".$current_path; |
my $href_edit_location="/editupload/$udom/$uname/$port_path".$current_path; |
my $href_edit_location="/editupload/$udom/$uname/$port_path".$current_path; |
my @dir_lines; |
my @dir_lines; |
|
my @version_lines; |
my %versioned; |
my %versioned; |
foreach my $line (sort |
foreach my $line (sort |
{ |
{ |
Line 196 sub display_directory {
|
Line 198 sub display_directory {
|
$filename =~ s/\s+$//; |
$filename =~ s/\s+$//; |
my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename); |
my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename); |
if ($version) { |
if ($version) { |
|
push(@version_lines, [$filename,$dom,$testdir,$size,$mtime,$obs]); |
$versioned{$fname.'.'.$extension} .= $version.","; |
$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) { |
foreach my $line (@dir_lines) { |
my ($filename,$dom,$testdir,$size,$mtime,$obs) = @$line; |
my ($filename,$dom,$testdir,$size,$mtime,$obs) = @$line; |
my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename); |
my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename); |
if (($filename ne '.') && ($filename ne '..') && ($filename !~ /\.meta$/ ) && ($filename !~ /(.*)\.(\d+)\.([^\.]*)$/)) { |
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})) { |
if (exists($versioned{$filename})) { |
$version_flag{$filename} = '<a href="portfolio?open_version='.$filename.'"><img alt="'.&mt('closed folder').'" src="'.$iconpath.'folder_pointer_closed.gif" /></a>'; |
$version_flag{$filename} = '<a href="portfolio?showversions='.$filename.'"><img alt="'.&mt('closed folder').'" src="'.$iconpath.'folder_pointer_closed.gif" /></a>'; |
} else { |
} else { |
$version_flag{$filename} = ''; |
$version_flag{$filename} = ''; |
} |
} |
Line 1668 sub missing_priv {
|
Line 1676 sub missing_priv {
|
return; |
return; |
} |
} |
|
|
|
sub coursegrp_portfolio_header { |
|
my ($cdom,$cnum,$group,$grp_desc)=@_; |
|
my $gpterm = &Apache::loncommon::group_term(); |
|
my $ucgpterm = $gpterm; |
|
$ucgpterm =~ s/^(\w)/uc($1)/e; |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"/adm/$cdom/$cnum/$group/smppg", |
|
text=>"$ucgpterm: $grp_desc", |
|
title=>"Go to group's home page"}, |
|
{href=>"//?group=$group", |
|
text=>"Group Portfolio", |
|
title=>"Display group portfolio"},); |
|
my $output = &Apache::lonhtmlcommon::breadcrumbs( |
|
&mt('[_1] portfolio files - [_2]',$gpterm,$grp_desc)); |
|
return $output; |
|
} |
|
|
|
|
sub handler { |
sub handler { |
# this handles file management |
# this handles file management |
my $r = shift; |
my $r = shift; |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['selectfile','currentpath','meta','lockinfo','currentfile','action', |
['selectfile','currentpath','meta','lockinfo','currentfile','action', |
'fieldname','mode','rename','continue','group','access','setnum', |
'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); |
my ($uname,$udom,$portfolio_root,$url,$group,$caller,$title,$grp_desc); |
if ($r->uri =~ m|^(/adm/)([^/]+)|) { |
if ($r->uri =~ m|^(/adm/)([^/]+)|) { |
$url = $1.$2; |
$url = $1.$2; |
$caller = $2; |
$caller = $2; |
Line 1699 sub handler {
|
Line 1725 sub handler {
|
my %curr_groups = &Apache::longroup::coursegroups($udom,$uname, |
my %curr_groups = &Apache::longroup::coursegroups($udom,$uname, |
$group); |
$group); |
if (%curr_groups) { |
if (%curr_groups) { |
|
my %grp_content = &Apache::longroup::get_group_settings( |
|
$curr_groups{$group}); |
|
$grp_desc = &unescape($grp_content{'description'}); |
if (($view_permission) || (&Apache::lonnet::allowed('rgf', |
if (($view_permission) || (&Apache::lonnet::allowed('rgf', |
$env{'request.course.id'}.'/'.$group))) { |
$env{'request.course.id'}.'/'.$group))) { |
$portfolio_root = &get_portfolio_root($group); |
$portfolio_root = &get_portfolio_root($group); |
Line 1848 sub handler {
|
Line 1877 sub handler {
|
if ($env{'form.currentpath'}) { |
if ($env{'form.currentpath'}) { |
$current_path = $env{'form.currentpath'}; |
$current_path = $env{'form.currentpath'}; |
} |
} |
|
if ($caller eq 'coursegrp_portfolio') { |
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
|
$r->print(&coursegrp_portfolio_header($udom,$uname,$group,$grp_desc)); |
|
} |
my @dir_list=&get_dir_list($portfolio_root,$group); |
my @dir_list=&get_dir_list($portfolio_root,$group); |
if ($dir_list[0] eq 'no_such_dir'){ |
if ($dir_list[0] eq 'no_such_dir'){ |
# two main reasons for this: |
# two main reasons for this: |