--- loncom/interface/portfolio.pm 2024/08/19 01:32:58 1.254.2.6.2.2
+++ loncom/interface/portfolio.pm 2024/09/07 19:13:00 1.271
@@ -1,7 +1,7 @@
# The LearningOnline Network
# portfolio browser
#
-# $Id: portfolio.pm,v 1.254.2.6.2.2 2024/08/19 01:32:58 raeburn Exp $
+# $Id: portfolio.pm,v 1.271 2024/09/07 19:13:00 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -237,7 +237,7 @@ sub display_directory_line {
if ($lock_info) {
my %anchor_fields = ('lockinfo' => $fullpath);
if ($versions) { # hold the folder open
- my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($fullpath);
+ my ($fname,$version,$extension) = &Apache::lonnet::file_name_version_ext($fullpath);
$fname =~ s|^/||;
$anchor_fields{'showversions'} = $fname.'.'.$extension;
}
@@ -267,7 +267,7 @@ sub display_directory_line {
sub display_directory {
my ($r,$url,$current_path,$is_empty,$dir_list,$group,$can_upload,
- $can_modify,$can_delete,$can_setacl,$can_viewacl)=@_;
+ $can_modify,$can_delete,$can_setacl,$can_viewacl,$caller)=@_;
my $iconpath= $r->dir_config('lonIconsURL') . "/";
my $select_mode;
my $checked_files;
@@ -314,6 +314,18 @@ sub display_directory {
&mt('Using the portfolio file list'))
.'
'
);
+ my ($acl_helpfile,$acl_helplink);
+ if ($caller eq 'coursegrp_portfolio') {
+ $acl_helpfile = 'Portfolio ShareFile Group';
+ } elsif ($can_setacl) {
+ $acl_helpfile = 'Portfolio ShareFile';
+ }
+ unless ($can_setacl || $can_viewacl) {
+ $acl_helpfile = 'Portfolio ShareFile Off';
+ }
+ if ($acl_helpfile) {
+ $acl_helplink = &Apache::loncommon::help_open_topic($acl_helpfile);
+ }
$r->print(&Apache::loncommon::start_data_table()
.&Apache::loncommon::start_data_table_header_row()
.''.&mt('Actions'). &Apache::loncommon::help_open_topic('Portfolio FileAction').' | '
@@ -323,7 +335,7 @@ sub display_directory {
.''.&mt('Size').' | '
.''.&mt('Last Modified').' | '
.' | '
- .''.&mt('Current Access Status').&Apache::loncommon::help_open_topic('Portfolio ShareFile').' | '
+ .''.&mt('Current Access Status').$acl_helplink.' | '
.&Apache::loncommon::end_data_table_header_row());
}
@@ -373,7 +385,7 @@ sub display_directory {
} (@{$dir_list})) {
my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$dir_line,16);
$filename =~ s/\s+$//;
- my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename);
+ my ($fname,$version,$extension) = &Apache::lonnet::file_name_version_ext($filename);
if ($version) {
my $fullpath = &prepend_group($current_path.$fname.'.'.$extension);
push(@{ $versioned{$fullpath} },
@@ -386,7 +398,7 @@ sub display_directory {
my $zerobyte;
foreach my $dir_line (@dir_lines) {
my ($filename,$dom,$testdir,$size,$mtime,$obs) = @$dir_line;
- my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename);
+ my ($fname,$version,$extension) = &Apache::lonnet::file_name_version_ext($filename);
if (($filename ne '.') && ($filename ne '..') && ($filename !~ /\.meta$/ ) && ($filename !~ /(.*)\.(\d+)\.([^\.]*)$/)) {
my $version_flag;
my $show_versions;
@@ -490,7 +502,7 @@ sub display_directory {
my $cond_access = 0;
foreach my $key (sort(keys(%{$access_controls{$fullpath}}))) {
my ($num,$scope,$end,$start) = &unpack_acc_key($key);
- next if ($scope eq 'ip');
+ next if ($scope eq 'ip');
if (($now > $start) && (!$end || $end > $now)) {
if ($scope eq 'public') {
$pub_access = 1;
@@ -2752,7 +2764,7 @@ sub handler {
$can_modify = 1;
$can_delete = 1;
$can_upload = 1;
- if (&Apache::lonnet::usertools_access('','','portaccess',
+ if (&Apache::lonnet::usertools_access($uname,$udom,'portaccess',
undef,'tools')) {
$can_viewacl = 1;
$can_setacl = 1;
@@ -2768,7 +2780,7 @@ sub handler {
my $js = '';
-
+
if ($env{"form.mode"} eq 'selectfile'){
$r->print(&Apache::loncommon::start_page($title, $js,
{'only_body' => 1}));
@@ -3019,7 +3031,7 @@ sub handler {
$can_upload,$group);
&display_directory($r,$url,$current_path,$is_empty,$dirlistref,$group,
$can_upload,$can_modify,$can_delete,$can_setacl,
- $can_viewacl);
+ $can_viewacl,$caller);
}
$r->print(&Apache::loncommon::end_page());
return OK;