--- loncom/interface/portfolio.pm 2006/07/19 10:26:43 1.121.2.6
+++ loncom/interface/portfolio.pm 2006/06/27 15:37:17 1.122
@@ -1,8 +1,3 @@
-# The LearningOnline Network
-# portfolio browser
-#
-# $Id: portfolio.pm,v 1.121.2.6 2006/07/19 10:26:43 albertel Exp $
-#
# Copyright Michigan State University Board of Trustees
#
# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
@@ -36,7 +31,6 @@ use Apache::lonfeedback;
use Apache::lonlocal;
use Apache::lonnet;
use Apache::longroup;
-use Apache::lonhtmlcommon;
use HTML::Entities;
use LONCAPA;
@@ -225,7 +219,7 @@ sub display_directory {
}
my $fullpath = $current_path.$filename;
$fullpath = &prepend_group($fullpath,$group);
- if ($select_mode eq 'true') {
+ if ($select_mode eq 'true'){
$line='
print('
');
+ $r->print($line);
}
- $r->print('
');
- $r->print($line);
- my $curr_access;
- if ($select_mode ne 'true') {
- my $pub_access = 0;
- my $guest_access = 0;
- my $cond_access = 0;
- foreach my $key (sort(keys(%{$access_controls{$fullpath}}))) {
- my ($num,$scope,$end,$start) = &unpack_acc_key($key);
- if (($now > $start) && (!$end || $end > $now)) {
- if ($scope eq 'public') {
- $pub_access = 1;
- } elsif ($scope eq 'guest') {
- $guest_access = 1;
- } else {
- $cond_access = 1;
- }
- }
- }
- if (!$pub_access && !$guest_access && !$cond_access) {
- $curr_access = &mt('Private');
- } else {
- my @allaccesses;
- if ($pub_access) {
- push(@allaccesses,&mt('Public'));
- }
- if ($guest_access) {
- push(@allaccesses,&mt('Passphrase-protected'));
- }
- if ($cond_access) {
- push(@allaccesses,&mt('Conditional'));
- }
- $curr_access = join('+ ',@allaccesses);
- }
- }
- $r->print('
'.&mt('Allowing others to retrieve portfolio file: [_1]',$env{'form.currentpath'}.$env{'form.access'}).'
';
my $info .=
&mt('Access to this file by others can be set to be one or more of the following types: public, passphrase-protected or conditional.').
'
'.
@@ -706,7 +694,7 @@ sub build_access_summary {
sub update_access {
- my ($r,$url,$group,$port_path) = @_;
+ my ($r,$url,$group) = @_;
my $totalprocessed = 0;
my %processing;
my %title = (
@@ -732,7 +720,7 @@ sub update_access {
}
my $file_name = $env{'form.currentpath'}.$env{'form.selectfile'};
$r->print('
'.&mt('Allowing others to retrieve portfolio file: [_1]',
- $port_path.$file_name).'
'."\n");
+ $file_name).''."\n");
$file_name = &prepend_group($file_name,$group);
my ($uname,$udom) = &get_name_dom($group);
my ($errors,$outcome,$deloutcome,$new_values,$translation);
@@ -828,10 +816,7 @@ sub update_access {
}
$r->print(' '.
- &mt('Display all access settings for this file').''.
- ' '.
- ''.&mt('Return to directory listing').'');
+ &mt('Display all access settings for this file').'');
}
return;
}
@@ -1428,7 +1413,11 @@ ENDSMP
fileList = fileList + document.forms.checkselect.currentpath.value + document.forms.checkselect[i].value + "," ;
}
}
- opener.document.forms.lonhomework.$env{'form.fieldname'}.value=fileList;
+ opener.document.forms.lonhomework.
+ENDSMP
+ $javascript .= $env{'form.fieldname'};
+ $javascript .= (<
@@ -1449,14 +1438,6 @@ sub upload {
my $fname=$env{'form.uploaddoc.filename'};
my $filesize = (length($env{'form.uploaddoc'})) / 1000; #express in k (1024?)
my $disk_quota = 20000; # expressed in k
- if (defined($group)) {
- my $grp_quota = &get_group_quota($group); # quota expressed in k
- if ($grp_quota ne '') {
- $disk_quota = $grp_quota;
- } else {
- $disk_quota = 0;
- }
- }
$fname=&Apache::lonnet::clean_filename($fname);
my $portfolio_root=&get_portfolio_root($group);
@@ -1508,7 +1489,6 @@ sub upload {
}
}
}
-
sub lock_info {
my ($r,$url,$group) = @_;
my ($uname,$udom) = &get_name_dom($group);
@@ -1591,23 +1571,6 @@ sub get_portfolio_root {
return (&Apache::loncommon::propath($udom,$uname).$path);
}
-sub get_group_quota {
- my ($group) = @_;
- my $group_quota;
- my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
- my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
- my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum,$group);
- if (%curr_groups) {
- my %group_info = &Apache::longroup::get_group_settings(
- $curr_groups{$group});
- $group_quota = $group_info{'quota'}; #expressed in Mb
- if ($group_quota) {
- $group_quota = 1000 * $group_quota; #expressed in k
- }
- }
- return $group_quota;
-}
-
sub get_dir_list {
my ($portfolio_root,$group) = @_;
my ($uname,$udom) = &get_name_dom($group);
@@ -1688,24 +1651,6 @@ sub missing_priv {
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 {
# this handles file management
my $r = shift;
@@ -1713,7 +1658,7 @@ sub handler {
['selectfile','currentpath','meta','lockinfo','currentfile','action',
'fieldname','mode','rename','continue','group','access','setnum',
'cnum','cdom','type','setroles']);
- my ($uname,$udom,$portfolio_root,$url,$group,$caller,$title,$grp_desc);
+ my ($uname,$udom,$portfolio_root,$url,$group,$caller,$title);
if ($r->uri =~ m|^(/adm/)([^/]+)|) {
$url = $1.$2;
$caller = $2;
@@ -1737,9 +1682,6 @@ sub handler {
my %curr_groups = &Apache::longroup::coursegroups($udom,$uname,
$group);
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',
$env{'request.course.id'}.'/'.$group))) {
$portfolio_root = &get_portfolio_root($group);
@@ -1757,24 +1699,17 @@ sub handler {
$earlyout = 1;
}
if ($earlyout) { return OK; }
- if (&Apache::lonnet::allowed('mdg',$env{'request.course.id'})) {
+ if (&Apache::lonnet::allowed('agf',$env{'request.course.id'}.'/'.$group)) {
+ $can_setacl = 1;
+ }
+ if (&Apache::lonnet::allowed('ugf',$env{'request.course.id'}.'/'.$group)) {
+ $can_upload = 1;
+ }
+ if (&Apache::lonnet::allowed('mgf',$env{'request.course.id'}.'/'.$group)) {
$can_modify = 1;
+ }
+ if (&Apache::lonnet::allowed('dgf',$env{'request.course.id'}.'/'.$group)) {
$can_delete = 1;
- $can_upload = 1;
- $can_setacl = 1;
- } else {
- if (&Apache::lonnet::allowed('agf',$env{'request.course.id'}.'/'.$group)) {
- $can_setacl = 1;
- }
- if (&Apache::lonnet::allowed('ugf',$env{'request.course.id'}.'/'.$group)) {
- $can_upload = 1;
- }
- if (&Apache::lonnet::allowed('mgf',$env{'request.course.id'}.'/'.$group)) {
- $can_modify = 1;
- }
- if (&Apache::lonnet::allowed('dgf',$env{'request.course.id'}.'/'.$group)) {
- $can_delete = 1;
- }
}
} else {
($uname,$udom) = &get_name_dom();
@@ -1786,7 +1721,6 @@ sub handler {
$can_setacl = 1;
}
- my $port_path = &get_port_path($group);
&Apache::loncommon::no_cache($r);
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
@@ -1864,10 +1798,10 @@ sub handler {
} elsif ($env{'form.access'}) {
$env{'form.selectfile'} = $env{'form.access'};
$env{'form.action'} = 'chgaccess';
- &display_access($r,$url,$group,$can_setacl,$port_path);
+ &display_access($r,$url,$group,$can_setacl);
} elsif ($env{'form.action'} eq 'chgaccess') {
if ($can_setacl) {
- &update_access($r,$url,$group,$port_path);
+ &update_access($r,$url,$group);
} else {
&missing_priv($r,$url,'setacl',$group);
}
@@ -1890,10 +1824,6 @@ sub handler {
if ($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);
if ($dir_list[0] eq 'no_such_dir'){
# two main reasons for this: