--- loncom/interface/lonindexer.pm 2008/09/19 08:50:42 1.182
+++ loncom/interface/lonindexer.pm 2009/03/19 14:24:50 1.194
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Directory Indexer
#
-# $Id: lonindexer.pm,v 1.182 2008/09/19 08:50:42 bisitz Exp $
+# $Id: lonindexer.pm,v 1.194 2009/03/19 14:24:50 jms Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -178,7 +178,7 @@ ENDSUBM
# --------------------- define extra fields and buttons in case of special mode
if ($env{'form.catalogmode'} eq 'interactive') {
#SB $extrafield='
+$lt{'hd'}
');
# ------------------------------------------------------ Remember where we were
@@ -539,12 +551,12 @@ END
#$r->print(&writedebug("Omit:@Omit")) if (@Omit);
#$r->print(&writedebug("Only:@Only")) if (@Only);
$r->print(' ');
- $r->print(&Apache::loncommon::start_data_table()
+ $r->print(&Apache::loncommon::start_data_table("LC_tableBrowseRes")
.&Apache::loncommon::start_data_table_header_row());
$r->print("".&mt('Name')." \n");
$r->print("".&mt('Title')." \n")
if ($hash{'display_attrs_0'} == 1);
- $r->print(''.&mt("Size")." (".&mt("bytes").") ".
+ $r->print(' '.&mt("Size")." (".&mt("bytes").") ".
" \n") if ($hash{'display_attrs_1'} == 1);
$r->print("".&mt("Last accessed")." \n")
if ($hash{'display_attrs_2'} == 1);
@@ -565,7 +577,18 @@ END
if ($hash{'display_attrs_11'} == 1);
$r->print("".&mt("Resource")." \n")
if ($hash{'display_attrs_7'} == 1);
- $r->print(&Apache::loncommon::end_data_table_header_row());
+ $r->print("".&mt("Subject")." \n")
+ if ($hash{'display_attrs_12'} == 1);
+ $r->print("".&mt("Notes")." \n")
+ if ($hash{'display_attrs_13'} == 1);
+ $r->print("".&mt("Abstract")." \n")
+ if ($hash{'display_attrs_14'} == 1);
+ $r->print("".&mt("Grade Level")." \n")
+ if ($hash{'display_attrs_15'} == 1);
+
+ $r->print(&Apache::loncommon::end_data_table_header_row());
+
+
# ----------------- read in what directories have previously been set to "open"
foreach (keys %hash) {
@@ -827,10 +850,11 @@ sub display_line {
my $fnptr = $filecom[3]&$dirptr;
my $msg = &mt('View').' '.$filecom[0].' '.&mt('resources');
$msg = &mt('Close').' '.$filecom[0].' '.&mt('directory') if $diropen eq 'opened';
+ my $nowOpen = ($diropen eq 'opened' ? 1 : 0);
my $tabtag='';
my $i=0;
- while ($i<=11) {
+ while ($i<=15) {
$tabtag=join('',$tabtag," ")
if ($i != 9 &&
$hash{'display_attrs_'.$i} == 1);
@@ -858,11 +882,11 @@ sub display_line {
$r->print(&Apache::loncommon::inhibit_menu_check('input'));
$r->print (' '."\n");
- $r->print (' '."\n");
- $r->print (' print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.
+ $r->print (' '."\n");
+ $r->print (' print (' name="'.$msg.'" type="image" class="LC_fileicon" />'.
"\n");
- $r->print(&mt("Up")."$tabtag");
+ $r->print(&mt("Up")." $tabtag");
$r->print(&Apache::loncommon::end_data_table_row());
return OK;
}
@@ -885,18 +909,17 @@ sub display_line {
my $anchor = $filecom[0];
$anchor =~ s/\W//g;
$r->print (' ');
- $r->print (' ');
- $r->print (' print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.
+$r->print (' ');
+ $r->print (' print (' name="'.$msg.'" type="image" class="LC_fileicon" /> '.
"\n");
my $quotable_filecom = &Apache::loncommon::escape_single($filecom[0]);
$r->print (' print (' class="LC_icon" /> '."\n");
- $r->print (&mt("Domain")." - $listname ");
+ $r->print (' class="LC_fileicon" />'."\n");
+ $r->print (&mt("Domain")." - $listname ");
if (&Apache::lonnet::domain($listname,'description')) {
- $r->print("(".&Apache::lonnet::domain($listname,'description').
+ $r->print(" (".&Apache::lonnet::domain($listname,'description').
")");
}
$r->print("$tabtag");
@@ -912,50 +935,52 @@ sub display_line {
$anchor =~ s/\W//g;
#SB $r->print("$extrafield");
$r->print(&Apache::loncommon::start_data_table_row()
- .$extrafield.' ');
+ .$extrafield.' ');
&begin_form ($r,$curdir);
$r->print (' '."\n");
+ 'whitespace_21.gif" class="LC_icon" />'."\n");
$r->print (' ');
- $r->print (' print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.
+ $r->print ('');
+ $r->print (' print (' name="'.$msg.'"/> '.
"\n");
my $quotable_curdir = &Apache::loncommon::escape_single($curdir);
$r->print (' ');
+ $iconpath.'quill.gif" class="LC_fileicon" />');
my $domain=(split(m|/|,$startdir))[2];
my $plainname=&Apache::loncommon::plainname($listname,$domain);
- $r->print ($listname);
- if (defined($plainname) && $plainname) { $r->print(" ($plainname) "); }
- $r->print(''.$tabtag);
+ $r->print ($listname.'');
+
+ if (defined($plainname) && $plainname) { $r->print(" ($plainname) "); }
+ $r->print(''.$tabtag);
$r->print(&Apache::loncommon::end_data_table_row());
- return OK;
+ return OK;
}
# display file
- if (($fnptr == 0 and $filecom[3] ne '') or $absolute) {
- my $title;
- my $filelink = $pathprefix.$filecom[0];
- if ($hash{'display_attrs_0'} == 1) {
- $title = &Apache::lonnet::gettitle($filelink);
- }
- my @file_ext = split (/\./,$listname);
- my $curfext = $file_ext[-1];
- if (@Omit) {
- foreach (@Omit) { return OK if (lc($curfext) eq $_); }
- }
- if (@Only) {
- my $skip = 1;
- foreach (@Only) { $skip = 0 if (lc($curfext) eq $_); }
- return OK if ($skip > 0);
- }
- # Set the icon for the file
- my $iconname = &Apache::loncommon::icon($listname);
-#SB $r->print(" ");
- $r->print(&Apache::loncommon::start_data_table_row()); # valign="$valign" ?!?"
- $r->print(' ');
+ if (($fnptr == 0 and $filecom[3] ne '') or $absolute) {
+ my $title;
+ my $filelink = $pathprefix.$filecom[0];
+ if ($hash{'display_attrs_0'} == 1) {
+ $title = &Apache::lonnet::gettitle($filelink);
+ }
+ my @file_ext = split (/\./,$listname);
+ my $curfext = $file_ext[-1];
+ if (@Omit) {
+ foreach (@Omit) { return OK if (lc($curfext) eq $_); }
+ }
+ if (@Only) {
+ my $skip = 1;
+ foreach (@Only) { $skip = 0 if (lc($curfext) eq $_); }
+ return OK if ($skip > 0);
+ }
+ # Set the icon for the file
+ my $iconname = &Apache::loncommon::icon($listname);
+#SB $r->print(" );
+ $r->print(&Apache::loncommon::start_data_table_row()); #SB valign="$valign" ?!?
+ $r->print('');
if ($env{'form.catalogmode'} eq 'interactive') {
my $quotable_filelink = &Apache::loncommon::escape_single($filelink);
@@ -963,7 +988,7 @@ sub display_line {
$quotable_filelink,"')\">");
$r->print(" ".
"\n");
- $r->print(" ");
+ $r->print(' ');
} elsif ($env{'form.catalogmode'} eq 'import') {
$r->print(" ");
+ $r->print(' ');
$hash{"pre_${fnum}_link"}=$filelink;
$hash{"pre_${fnum}_title"}=$title;
if (!$hash{"pre_${fnum}_title"}) {
@@ -988,34 +1013,27 @@ sub display_line {
$indent--;
}
# General indentation
- if ($indent > 0 and $indent < 11) {
- $r->print(" \n");
- } elsif ($indent >0) {
- my $ten = int($indent/10.);
- my $rem = $indent%10.0;
my $count = 0;
- while ($count < $ten) {
+ while ($count < $indent) {
$r->print(" \n");
- $count++;
+ "whitespace_21.gif class='LC_icon' />\n");
+ $count++;
}
- $r->print(" \n") if $rem > 0;
- }
# Sequence open/close icon
if ($filelink=~/\.(page|sequence)$/) {
my $curdir = $startdir.$filecom[0].'/';
my $anchor = $curdir;
$anchor =~ s/\W//g;
$r->print (' ');
- $r->print (' print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.
+ $r->print (' ');
+ $r->print ('');
+ $r->print (' print (' name="'.$msg.'" type="image" class="LC_fileicon" /> '.
"\n");
}
# Filetype icons
- $r->print(" \n");
+ $r->print(" \n");
my $quotable_filelink = &Apache::loncommon::escape_single($filelink);
$r->print (" print('');
}
- $r->print(" \n");
+ $r->print("\n");
if ($hash{'display_attrs_0'} == 1) {
$r->print(' '.($title eq '' ? ' ' : $title).
' '."\n");
}
- $r->print(' ',
+ $r->print(' ',
$filecom[8]," \n")
if $hash{'display_attrs_1'} == 1;
- $r->print(' '.
+ $r->print(' '.
(&Apache::lonlocal::locallocaltime($filecom[9]))." \n")
if $hash{'display_attrs_2'} == 1;
- $r->print(' '.
+ $r->print(' '.
(&Apache::lonlocal::locallocaltime($filecom[10]))." \n")
if $hash{'display_attrs_3'} == 1;
if ($hash{'display_attrs_4'} == 1) {
my $author = &Apache::lonnet::metadata($filelink,'author');
- $r->print(' '.($author eq '' ? ' ' : $author).
+ $r->print(' '.($author eq '' ? ' ' : $author).
" \n");
}
if ($hash{'display_attrs_5'} == 1) {
@@ -1056,7 +1074,6 @@ sub display_line {
$r->print(' '.($keywords eq '' ? ' ' : $keywords).
" \n");
}
-#'
if ($hash{'display_attrs_6'} == 1) {
my $lang = &Apache::lonnet::metadata($filelink,'language');
@@ -1108,14 +1125,44 @@ sub display_line {
&dynmetaprint($r,$filelink,'course_list');
$r->print('');
}
- if ($hash{'display_attrs_7'} == 1) {
+
+
+
+ if ($hash{'display_attrs_7'} == 1) {
# Show resource
my $output=&showpreview($filelink);
$r->print(' '.($output eq '' ? ' ':$output).
" \n");
- }
- $r->print(&Apache::loncommon::end_data_table_row());
}
+
+ if ($hash{'display_attrs_12'} == 1) {
+ my $subject = &Apache::lonnet::metadata($filelink,'subject');
+ $r->print(' '.($subject eq '' ? ' ' : $subject).
+ " \n");
+ }
+
+ if ($hash{'display_attrs_13'} == 1) {
+ my $notes = &Apache::lonnet::metadata($filelink,'notes');
+ $r->print(' '.($notes eq '' ? ' ' : $notes).
+ " \n");
+ }
+
+ if ($hash{'display_attrs_14'} == 1) {
+ my $abstract = &Apache::lonnet::metadata($filelink,'abstract');
+ $r->print(' '.($abstract eq '' ? ' ' : $abstract).
+ " \n");
+ }
+
+ if ($hash{'display_attrs_15'} == 1) {
+ my $gradelevel = &Apache::lonnet::metadata($filelink,'gradelevel');
+ $r->print(' '.($gradelevel eq '' ? ' ' : $gradelevel).
+ " \n");
+ }
+
+ $r->print(&Apache::loncommon::end_data_table_row());
+}
+
+
# -- display directory
if ($fnptr == $dirptr) {
@@ -1125,36 +1172,31 @@ sub display_line {
#SB $r->print(" $extrafield");
$r->print(&Apache::loncommon::start_data_table_row()); # SB: bgcolor suggestion: darkgrey ("LC_info_row"?!?)
# $r->print(' ');
- $r->print($extrafield.'');
+ $r->print($extrafield.' ');
&begin_form ($r,$curdir);
my $indentm1 = $indent-1;
- if ($indentm1 < 11 and $indentm1 > 0) {
- $r->print(" \n");
- } else {
- my $ten = int($indentm1/10.);
- my $rem = $indentm1%10.0;
- my $count = 0;
- while ($count < $ten) {
- $r->print (" \n");
- $count++;
- }
- $r->print (" \n") if $rem > 0;
+ my $count = 0;
+ while ($count < $indentm1) {
+ $r->print (" \n");
+ $count++;
}
$r->print (' ');
- $r->print (' print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.
+ $r->print (' ');
+ $r->print (' print (' name="'.$msg.'" class="LC_fileicon" /> '.
"\n");
my $quotable_curdir = &Apache::loncommon::escape_single($curdir);
- $r->print (''
- .' '.
- "\n");
- $r->print ("$listname \n");
+
+ my $location = &Apache::loncommon::lonhttpdurl("/adm/lonIcons");
+ my $icon = "navmap.folder.".($nowOpen ? "open":"closed").'.gif';
+ $r->print (''
+ .' '.
+ "\n");
+ $r->print ("$listname \n");
# Attributes
my $filelink = $startdir.$filecom[0].'/default';
@@ -1163,13 +1205,13 @@ sub display_line {
$r->print(' '.($title eq '' ? ' ' : $title).
' '."\n");
}
- $r->print(' ',
+ $r->print(' ',
$filecom[8]," \n")
if $hash{'display_attrs_1'} == 1;
- $r->print(' '.
+ $r->print(' '.
(&Apache::lonlocal::locallocaltime($filecom[9]))." \n")
if $hash{'display_attrs_2'} == 1;
- $r->print(' '.
+ $r->print(' '.
(&Apache::lonlocal::locallocaltime($filecom[10]))." \n")
if $hash{'display_attrs_3'} == 1;
@@ -1190,19 +1232,43 @@ sub display_line {
$r->print(' '.($lang eq '' ? ' ' : $lang).
" \n");
}
+
if ($hash{'display_attrs_8'} == 1) {
$r->print(' ');
}
if ($hash{'display_attrs_10'} == 1) {
$r->print(' ');
}
- if ($hash{'display_attrs_11'} == 1) {
- $r->print(' ');
- }
if ($hash{'display_attrs_7'} == 1) {
$r->print(' ');
- }
- $r->print(&Apache::loncommon::end_data_table_row());
+ }
+ if ($hash{'display_attrs_11'} == 1) {
+ $r->print(' ');
+ }
+ if ($hash{'display_attrs_12'} == 1) {
+ my $subject = &Apache::lonnet::metadata($filelink,'subject');
+ $r->print(' '.($subject eq '' ? ' ' : $subject).
+ " \n");
+ }
+ if ($hash{'display_attrs_13'} == 1) {
+ my $notes = &Apache::lonnet::metadata($filelink,'notes');
+ $r->print(' '.($notes eq '' ? ' ' : $notes).
+ " \n");
+ }
+
+ if ($hash{'display_attrs_14'} == 1) {
+ my $abstract = &Apache::lonnet::metadata($filelink,'abstract');
+ $r->print(' '.($abstract eq '' ? ' ' : $abstract).
+ " \n");
+ }
+
+ if ($hash{'display_attrs_15'} == 1) {
+ my $gradelevel = &Apache::lonnet::metadata($filelink,'gradelevel');
+ $r->print(' '.($gradelevel eq '' ? ' ' : $gradelevel).
+ " \n");
+ }
+
+ $r->print(&Apache::loncommon::end_data_table_row());
}
}
@@ -1251,7 +1317,7 @@ sub showpreview {
close(FH);
}
}
- $output=''.$output.' ';
+ $output=''.$output.' ';
} elsif ($embstyle eq 'img') {
$output=' ';
} elsif ($filelink=~m{^/res/($match_domain)/($match_username)/}) {