--- loncom/interface/lonindexer.pm 2012/05/07 05:15:00 1.213.4.1
+++ loncom/interface/lonindexer.pm 2017/05/22 19:18:40 1.226
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Directory Indexer
#
-# $Id: lonindexer.pm,v 1.213.4.1 2012/05/07 05:15:00 raeburn Exp $
+# $Id: lonindexer.pm,v 1.226 2017/05/22 19:18:40 droeschl Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -34,9 +34,8 @@
## 1. Description of functions ##
## 2. Modules used by this module ##
## 3. Choices for different output views (detailed, summary, xml, etc) ##
-## 4. BEGIN block (to be run once after compilation) ##
-## 5. Handling routine called via Apache and mod_perl ##
-## 6. Other subroutines ##
+## 4. Handling routine called via Apache and mod_perl ##
+## 5. Other subroutines ##
## ##
###############################################################################
@@ -60,7 +59,6 @@ use LONCAPA qw(:match);
# ---------------------------------------- variables used throughout the module
my %hash; # global user-specific gdbm file
my %dirs; # keys are directories, values are the open/close status
-my %language; # has the reference information present in language.tab
my %dynhash; # hash of hashes for dynamic metadata
my %dynread; # hash of directories already read for dynamic metadata
my %fieldnames; # Metadata fieldnames
@@ -94,15 +92,8 @@ sub handler {
undef (@Omit);
%fieldnames=&Apache::lonmeta::fieldnames();
-# ------------------------------------- read in machine configuration variables
+# --------------------------------------------------------------- get icon path
my $iconpath= $r->dir_config('lonIconsURL') . "/";
- my $domain = $r->dir_config('lonDefDomain');
- my $role = $r->dir_config('lonRole');
- my $loadlim = $r->dir_config('lonLoadLim');
- my $servadm = $r->dir_config('lonAdmEMail');
- my $sysadm = $r->dir_config('lonSysEMail');
- my $lonhost = $r->dir_config('lonHostID');
- my $tabdir = $r->dir_config('lonTabDir');
#SB my $fileclr='#ffffe6';
my $line;
@@ -166,6 +157,7 @@ ENDSUBM
$r->print(&Apache::loncommon::start_page(undef,$js,
{'only_body' =>1,
'add_modal' => 1,
+ 'add_wishlist' => 1,
'add_entries' =>
{'onload' => "load();"},}
).
@@ -416,14 +408,14 @@ ENDHEADER
if ($env{'form.catalogmode'}) {
# "Popup mode"
$r->print(&Apache::loncommon::start_page('Browse published resources',$js,
- {'only_body' => 1, 'add_modal' =>1,
+ {'only_body' => 1, 'add_wishlist'=>1, 'add_modal' =>1,
'domain' => $headerdom,}));
} else {
# Only display page header and breadcrumbs in non-popup mode
&Apache::lonhtmlcommon::clear_breadcrumbs();
&Apache::lonhtmlcommon::add_breadcrumb({
'text' => 'Browse published resources',
- 'href' => '/res/fhwfdev/?launch=1',
+ 'href' => '/res/'.$headerdom.'/?launch=1',
});
$r->print(&Apache::loncommon::start_page('Browse published resources',$js,
{'domain' => $headerdom,})
@@ -573,7 +565,7 @@ END
} else {
$r->print($reshome);
}
- $r->print("'>".&mt('Home').'');
+ $r->print("'>".&mt('Home directory').'');
}
$r->print('');
# ------------------------------------------------------ Remember where we were
@@ -591,6 +583,7 @@ END
$r->print(&Apache::loncommon::start_data_table("LC_tableBrowseRes")
.&Apache::loncommon::start_data_table_header_row());
$r->print("
".&mt('Name')." | \n");
+ $r->print(" | \n");
$r->print("".&mt('Title')." | \n")
if ($hash{'display_attrs_0'} == 1);
$r->print(''.&mt("Size")." (".&mt("bytes").") ".
@@ -630,7 +623,7 @@ END
# ----------------- read in what directories have previously been set to "open"
- foreach (keys %hash) {
+ foreach (keys(%hash)) {
if ($_ =~ /^diropen_status_/) {
my $key = $_;
$key =~ s/^diropen_status_//;
@@ -716,7 +709,20 @@ sub scanDir {
return if ($c->aborted());
#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);
- 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);
if ($hash{'display_attrs_9'} != 1) {
# if not all versions to be shown
@@ -761,7 +767,7 @@ sub get_list {
(my $luri = $uri) =~ s/\//_/g;
if ($env{'form.updatedisplay'}) {
- foreach (keys %hash) {
+ foreach (keys(%hash)) {
delete $hash{$_} if ($_ =~ /^dirlist_files_/);
delete $hash{$_} if ($_ =~ /^dirlist_timestamp_files_/);
}
@@ -937,7 +943,7 @@ sub display_line {
$r->print (' print (' alt="'.$msg.'" class="LC_fileicon" />'.
"\n");
- $r->print(&mt("Up")."$tabtag");
+ $r->print(&mt("Up")." | $tabtag");
$r->print(&Apache::loncommon::end_data_table_row());
return OK;
}
@@ -972,7 +978,7 @@ $r->print ('(".&Apache::lonnet::domain($listname,'description').
")");
}
- $r->print("$tabtag");
+ $r->print(" | $tabtag");
$r->print(&Apache::loncommon::end_data_table_row());
return OK;
@@ -996,6 +1002,9 @@ $r->print (''.
"\n");
my $quotable_curdir = &Apache::loncommon::escape_single($curdir);
+ my $quotable_startdir = &Apache::loncommon::escape_single($startdir);
+ my $quotable_listname = &Apache::loncommon::escape_single($listname);
+
$r->print (' ');
@@ -1004,7 +1013,12 @@ $r->print ('print(' | ');
+# Wishlistlink
+ $r->print(''.
+ ' '.$tabtag);
$r->print(&Apache::loncommon::end_data_table_row());
return OK;
}
@@ -1085,6 +1099,8 @@ $r->print ('\n");
my $quotable_filelink = &Apache::loncommon::escape_single($filelink);
+ my $quotable_startdir = Apache::loncommon::escape_single($startdir);
+ my $quotable_listname = &Apache::loncommon::escape_single($listname);
$r->print (" $listname ");
$quotable_filelink = &Apache::loncommon::escape_single($filelink.'.meta');
@@ -1095,6 +1111,12 @@ $r->print ('\n");
+# Wishlistlink
+ $r->print(' | '.
+ ' | ');
if ($hash{'display_attrs_0'} == 1) {
$r->print(' '.($title eq '' ? ' ' : $title).
' | '."\n");
@@ -1234,7 +1256,9 @@ $r->print (''.
"\n");
my $quotable_curdir = &Apache::loncommon::escape_single($curdir);
-
+ my $quotable_startdir = &Apache::loncommon::escape_single($startdir);
+ my $quotable_listname = &Apache::loncommon::escape_single($listname);
+
my $location = &Apache::loncommon::lonhttpdurl("/adm/lonIcons");
my $icon = "navmap.folder.".($nowOpen ? "open":"closed").'.gif';
$r->print (''
."\n");
$r->print ("$listname");
- $r->print('');
+# Wishlistlink
+ $r->print(''.
+ ' | ');
# Attributes
my $filelink = $startdir.$filecom[0].'/default';
@@ -1288,8 +1317,8 @@ $r->print ('