[LON-CAPA-cvs] cvs: loncom /interface lonindexer.pm
raeburn
raeburn at source.lon-capa.org
Wed Aug 9 16:36:39 EDT 2017
raeburn Wed Aug 9 20:36:39 2017 EDT
Modified files:
/loncom/interface lonindexer.pm
Log:
- Trust settings.
Index: loncom/interface/lonindexer.pm
diff -u loncom/interface/lonindexer.pm:1.226 loncom/interface/lonindexer.pm:1.227
--- loncom/interface/lonindexer.pm:1.226 Mon May 22 19:18:40 2017
+++ loncom/interface/lonindexer.pm Wed Aug 9 20:36:39 2017
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Directory Indexer
#
-# $Id: lonindexer.pm,v 1.226 2017/05/22 19:18:40 droeschl Exp $
+# $Id: lonindexer.pm,v 1.227 2017/08/09 20:36:39 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -94,6 +94,7 @@
# --------------------------------------------------------------- get icon path
my $iconpath= $r->dir_config('lonIconsURL') . "/";
+ my $defdom = &Apache::lonnet::default_login_domain();
#SB my $fileclr='#ffffe6';
my $line;
@@ -664,12 +665,12 @@
pop @uri_com;
my $upone = join('/', at uri_com);
my @list = qw (0);
- &display_line ($r,'opened',$upone.'&viewOneUp',0,$upone, at list);
+ &display_line ($r,$defdom,'opened',$upone.'&viewOneUp',0,$upone, at list);
$indent = 1;
}
# -------- recursively go through all the directories and output as appropriate
- &scanDir ($r,$toplevel,$indent,\%hash);
+ &scanDir ($r,$toplevel,$indent,\%hash,$defdom);
# -------------------------------------------------------------- end the tables
$r->print(&Apache::loncommon::end_data_table());
@@ -697,7 +698,7 @@
# ----------------------------------------------- recursive scan of a directory
sub scanDir {
- my ($r,$startdir,$indent,$hashref)=@_;
+ my ($r,$startdir,$indent,$hashref,$defdom)=@_;
my $c = $r->connection();
my ($compuri,$curdir);
my $dirptr=16384;
@@ -753,8 +754,8 @@
}
}
}
- &display_line($r,$diropen,$line,$indent,$curdir,$hashref, at list);
- &scanDir ($r,$compuri,$indent) if $diropen eq 'opened';
+ &display_line($r,$defdom,$diropen,$line,$indent,$curdir,$hashref, at list);
+ &scanDir ($r,$compuri,$indent,undef,$defdom) if $diropen eq 'opened';
}
$indent--;
}
@@ -884,7 +885,7 @@
# ------------------------------- displays one line in appropriate table format
sub display_line {
- my ($r,$diropen,$line,$indent,$startdir,$hashref, at list)=@_;
+ my ($r,$defdom,$diropen,$line,$indent,$startdir,$hashref, at list)=@_;
my (@pathfn, $fndir);
# there could be relative paths (files actually belonging into this directory)
# or absolute paths (for example, from sequences)
@@ -950,6 +951,15 @@
# Do we have permission to look at this?
if($filecom[15] ne '1') { return OK if ((!&Apache::lonnet::allowed('bre',$pathprefix.$filecom[0])) && (!&Apache::lonnet::allowed('bro',$pathprefix.$filecom[0]))); }
+ if (($filecom[1] eq 'domain') && ($defdom ne $listname)) {
+ unless (&Apache::lonnet::will_trust('shared',$listname,$defdom)) {
+ return OK;
+ }
+ unless (&Apache::lonnet::will_trust('content',$defdom,$listname)) {
+ return OK;
+ }
+ }
+
# make absolute links appear on different background
#SB if ($absolute) { $fileclr='#ccdd99'; }
@@ -984,7 +994,17 @@
# display user directory
}
+
if ($filecom[1] eq 'user') {
+ my $domain=(split(m|/|,$startdir))[2];
+ if ($defdom ne $domain) {
+ unless (&Apache::lonnet::will_trust('shared',$domain,$defdom)) {
+ return OK;
+ }
+ unless (&Apache::lonnet::will_trust('content',$defdom,$domain)) {
+ return OK;
+ }
+ }
# $r->print("<tr valign=$valign bgcolor=\"$fileclr\">$extrafield");
my $curdir = $startdir.$filecom[0].'/';
my $anchor = $curdir;
More information about the LON-CAPA-cvs
mailing list