version 1.223, 2014/12/20 15:35:40
|
version 1.232, 2025/03/18 19:36:59
|
Line 94 sub handler {
|
Line 94 sub handler {
|
|
|
# --------------------------------------------------------------- get icon path |
# --------------------------------------------------------------- get icon path |
my $iconpath= $r->dir_config('lonIconsURL') . "/"; |
my $iconpath= $r->dir_config('lonIconsURL') . "/"; |
|
my $defdom = &Apache::lonnet::default_login_domain(); |
|
|
#SB my $fileclr='#ffffe6'; |
#SB my $fileclr='#ffffe6'; |
my $line; |
my $line; |
Line 565 END
|
Line 566 END
|
} else { |
} else { |
$r->print($reshome); |
$r->print($reshome); |
} |
} |
$r->print("'>".&mt('Home').'</a></span>'); |
$r->print("'>".&mt('Home directory').'</a></span>'); |
} |
} |
$r->print('</form>'); |
$r->print('</form>'); |
# ------------------------------------------------------ Remember where we were |
# ------------------------------------------------------ Remember where we were |
Line 583 END
|
Line 584 END
|
$r->print(&Apache::loncommon::start_data_table("LC_tableBrowseRes") |
$r->print(&Apache::loncommon::start_data_table("LC_tableBrowseRes") |
.&Apache::loncommon::start_data_table_header_row()); |
.&Apache::loncommon::start_data_table_header_row()); |
$r->print("<th $colspan>".&mt('Name')."</th>\n"); |
$r->print("<th $colspan>".&mt('Name')."</th>\n"); |
$r->print("<th></th>\n"); |
$r->print('<th><span class="LC_visually_hidden">'.&mt('Add to Stored Links')."</span></th>\n"); |
$r->print("<th>".&mt('Title')."</th>\n") |
$r->print("<th>".&mt('Title')."</th>\n") |
if ($hash{'display_attrs_0'} == 1); |
if ($hash{'display_attrs_0'} == 1); |
$r->print('<th class="LC_right">'.&mt("Size")." (".&mt("bytes").") ". |
$r->print('<th class="LC_right">'.&mt("Size")." (".&mt("bytes").") ". |
Line 664 END
|
Line 665 END
|
pop @uri_com; |
pop @uri_com; |
my $upone = join('/',@uri_com); |
my $upone = join('/',@uri_com); |
my @list = qw (0); |
my @list = qw (0); |
&display_line ($r,'opened',$upone.'&viewOneUp',0,$upone,@list); |
&display_line ($r,$defdom,'opened',$upone.'&viewOneUp',0,$upone,@list); |
$indent = 1; |
$indent = 1; |
} |
} |
|
|
# -------- recursively go through all the directories and output as appropriate |
# -------- recursively go through all the directories and output as appropriate |
&scanDir ($r,$toplevel,$indent,\%hash); |
&scanDir ($r,$toplevel,$indent,\%hash,$defdom); |
|
|
# -------------------------------------------------------------- end the tables |
# -------------------------------------------------------------- end the tables |
$r->print(&Apache::loncommon::end_data_table()); |
$r->print(&Apache::loncommon::end_data_table()); |
Line 697 END
|
Line 698 END
|
|
|
# ----------------------------------------------- recursive scan of a directory |
# ----------------------------------------------- recursive scan of a directory |
sub scanDir { |
sub scanDir { |
my ($r,$startdir,$indent,$hashref)=@_; |
my ($r,$startdir,$indent,$hashref,$defdom)=@_; |
my $c = $r->connection(); |
my $c = $r->connection(); |
my ($compuri,$curdir); |
my ($compuri,$curdir); |
my $dirptr=16384; |
my $dirptr=16384; |
Line 709 sub scanDir {
|
Line 710 sub scanDir {
|
return if ($c->aborted()); |
return if ($c->aborted()); |
#This is a kludge, sorry aboot this |
#This is a kludge, sorry aboot this |
my ($strip,$dom,undef,$testdir,undef,undef,undef,undef,undef,undef,undef,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); |
my ($strip,$dom,undef,$testdir,undef,undef,undef,undef,undef,undef,undef,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); |
next if($strip =~ /.*\.meta$/ | $obs eq '1'); |
next if (($strip =~ /\.meta$/) || ($obs)); |
|
if ($dom ne 'domain') { |
|
my ($udom,$uname); |
|
if ($dom eq 'user') { |
|
($udom) = ($startdir =~ m{^/res/($match_domain)}); |
|
$uname = $strip; |
|
} else { |
|
($udom,$uname) = ($startdir =~ m{^/res/($match_domain)/($match_courseid)}); |
|
} |
|
if ($udom ne '' && $uname ne '') { |
|
# Don't display "course author" directory. |
|
next if (&Apache::lonnet::is_course($udom,$uname)); |
|
} |
|
} |
my (@fileparts) = split(/\./,$strip); |
my (@fileparts) = split(/\./,$strip); |
if ($hash{'display_attrs_9'} != 1) { |
if ($hash{'display_attrs_9'} != 1) { |
# if not all versions to be shown |
# if not all versions to be shown |
Line 740 sub scanDir {
|
Line 754 sub scanDir {
|
} |
} |
} |
} |
} |
} |
&display_line($r,$diropen,$line,$indent,$curdir,$hashref,@list); |
&display_line($r,$defdom,$diropen,$line,$indent,$curdir,$hashref,@list); |
&scanDir ($r,$compuri,$indent) if $diropen eq 'opened'; |
&scanDir ($r,$compuri,$indent,undef,$defdom) if $diropen eq 'opened'; |
} |
} |
$indent--; |
$indent--; |
} |
} |
Line 871 sub match_ext {
|
Line 885 sub match_ext {
|
|
|
# ------------------------------- displays one line in appropriate table format |
# ------------------------------- displays one line in appropriate table format |
sub display_line { |
sub display_line { |
my ($r,$diropen,$line,$indent,$startdir,$hashref,@list)=@_; |
my ($r,$defdom,$diropen,$line,$indent,$startdir,$hashref,@list)=@_; |
my (@pathfn, $fndir); |
my (@pathfn, $fndir); |
# there could be relative paths (files actually belonging into this directory) |
# there could be relative paths (files actually belonging into this directory) |
# or absolute paths (for example, from sequences) |
# or absolute paths (for example, from sequences) |
Line 937 sub display_line {
|
Line 951 sub display_line {
|
# Do we have permission to look at this? |
# 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[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 |
# make absolute links appear on different background |
#SB if ($absolute) { $fileclr='#ccdd99'; } |
#SB if ($absolute) { $fileclr='#ccdd99'; } |
|
|
Line 971 $r->print ('<input type="hidden" name="a
|
Line 994 $r->print ('<input type="hidden" name="a
|
|
|
# display user directory |
# display user directory |
} |
} |
|
|
if ($filecom[1] eq 'user') { |
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"); |
# $r->print("<tr valign=$valign bgcolor=\"$fileclr\">$extrafield"); |
my $curdir = $startdir.$filecom[0].'/'; |
my $curdir = $startdir.$filecom[0].'/'; |
my $anchor = $curdir; |
my $anchor = $curdir; |
Line 1088 $r->print ('<input type="hidden" name="a
|
Line 1121 $r->print ('<input type="hidden" name="a
|
my $quotable_filelink = &Apache::loncommon::escape_single($filelink); |
my $quotable_filelink = &Apache::loncommon::escape_single($filelink); |
my $quotable_startdir = Apache::loncommon::escape_single($startdir); |
my $quotable_startdir = Apache::loncommon::escape_single($startdir); |
my $quotable_listname = &Apache::loncommon::escape_single($listname); |
my $quotable_listname = &Apache::loncommon::escape_single($listname); |
|
my $curfext = lc((split(/\./,$listname))[-1]); |
|
my $modalstyle; |
|
if ($curfext =~ /^js|css|txt|tab$/) { |
|
$modalstyle = ",'','background-color:#ffffff'"; |
|
} |
|
|
$r->print (" <a href=\"javascript:openMyModal('".$quotable_filelink."?inhibitmenu=yes',500,500,'yes');\">$listname</a> "); |
$r->print (" <a href=\"javascript:openMyModal('".$quotable_filelink."?inhibitmenu=yes',500,500,'yes'".$modalstyle.");\">$listname</a> "); |
$quotable_filelink = &Apache::loncommon::escape_single($filelink.'.meta'); |
$quotable_filelink = &Apache::loncommon::escape_single($filelink.'.meta'); |
&Apache::loncommon::inhibit_menu_check(\$quotable_filelink); |
&Apache::loncommon::inhibit_menu_check(\$quotable_filelink); |
$r->print (" (<a href=\"javascript:openMyModal('".$quotable_filelink."?inhibitmenu=yes',500,500,'yes');\">".&mt('metadata')."</a>) "); |
$r->print (" (<a href=\"javascript:openMyModal('".$quotable_filelink."?inhibitmenu=yes',500,500,'yes');\">".&mt('metadata')."</a>) "); |