--- loncom/interface/lonindexer.pm 2008/12/17 18:49:13 1.181.2.2
+++ loncom/interface/lonindexer.pm 2009/12/02 18:33:27 1.203
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Directory Indexer
#
-# $Id: lonindexer.pm,v 1.181.2.2 2008/12/17 18:49:13 raeburn Exp $
+# $Id: lonindexer.pm,v 1.203 2009/12/02 18:33:27 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -104,7 +104,7 @@ sub handler {
my $lonhost = $r->dir_config('lonHostID');
my $tabdir = $r->dir_config('lonTabDir');
- my $fileclr='#ffffe6';
+#SB my $fileclr='#ffffe6';
my $line;
my (@attrchk,@openpath,$typeselect);
my $uri=$r->uri;
@@ -177,28 +177,30 @@ ENDSUBM
# --------------------- define extra fields and buttons in case of special mode
if ($env{'form.catalogmode'} eq 'interactive') {
- $extrafield='
'.
+#SB $extrafield='
'.
+ $extrafield='
'.
'
';
$colspan=" colspan='2' ";
my $cl=&mt('Close');
$closebutton=<
+
END
}
elsif ($env{'form.catalogmode'} eq 'import') {
- $extrafield='
'.
+#SB $extrafield='
'.
+ $extrafield='
'.
'
';
$colspan=" colspan='2' ";
my $cl=&mt('Close');
my $gi=&mt('Import');
$closebutton=<
+
END
$groupimportbutton=<
+onclick="javascript:select_group()" />
END
}
# Additions made by Matthew to make the browser a little easier to deal
@@ -359,6 +361,7 @@ END
my $js = <<"ENDHEADER";
ENDHEADER
my ($headerdom)=($uri=~m{^/res/($match_domain)/});
- $r->print(&Apache::loncommon::start_page('Browse Resources',$js,
- {'domain' => $headerdom,}));
+
+ if ($env{'form.catalogmode'}) {
+ # "Popup mode"
+ $r->print(&Apache::loncommon::start_page('Browse published resources',$js,
+ {'only_body' => 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',
+ });
+ $r->print(&Apache::loncommon::start_page('Browse published resources',$js,
+ {'domain' => $headerdom,})
+ .&Apache::lonhtmlcommon::breadcrumbs()
+ );
+ }
+
# ---------------------------------- get state of file types to be showing
if ($env{'form.only'}) {
$typeselect = $env{'form.only'};
@@ -418,7 +439,7 @@ ENDHEADER
# ---------------------------------- get state of file attributes to be showing
if ($env{'form.attrs'}) {
- for (my $i=0; $i<=11; $i++) {
+ for (my $i=0; $i<=16; $i++) {
delete $hash{'display_attrs_'.$i};
if ($env{'form.attr'.$i} == 1) {
$attrchk[$i] = 'checked';
@@ -426,8 +447,8 @@ ENDHEADER
}
}
} else {
- for (my $i=0; $i<=11; $i++) {
- $attrchk[$i] = 'checked' if $hash{'display_attrs_'.$i} == 1;
+ for (my $i=0; $i<=16; $i++) {
+ $attrchk[$i] = 'checked="checked"' if $hash{'display_attrs_'.$i} == 1;
}
}
@@ -442,7 +463,12 @@ ENDHEADER
'st' => 'Statistics',
'au' => 'Author',
'kw' => 'Keywords',
+ 'sb' => 'Subject',
+ 'nt' => 'Notes',
+ 'ab' => 'Abstract',
'ln' => 'Language',
+ 'gl' => 'Grade Level',
+ 'sd' => 'Standards',
'sa' => 'Source Available',
'sr' => 'Show resource',
'li' => 'Linked/Related Resources',
@@ -450,29 +476,37 @@ ENDHEADER
'ud' => 'Update Display',
'pr' => 'Problems',
'gr' => 'Graphics',
- 'at' => 'All types'
+ 'at' => 'All types',
+ 'hd' => 'Display Options'
);
$r->print(<
-
+');
# ------------------------------------------------------ Remember where we were
@@ -529,41 +575,53 @@ END
&Apache::lonhtmlcommon::store_recent('residx',$storeuri,$storeuri);
# -------------------------------------------------- Check All and Uncheck all
if ($env{'form.catalogmode'} eq 'import') {
- $r->print(' ');
- $r->print('');
+ $r->print('
');
+ $r->print('
');
}
# ----------------- output starting row to the indexed file/directory hierarchy
- my $titleclr="#ddffff";
#$r->print(&initdebug());
#$r->print(&writedebug("Omit:@Omit")) if (@Omit);
#$r->print(&writedebug("Only:@Only")) if (@Only);
- $r->print('
\n")
if ($hash{'display_attrs_8'} == 1);
- $r->print("
".&mt("Source Available")."
\n")
+ $r->print("
".&mt("Source Available")."
\n")
if ($hash{'display_attrs_10'} == 1);
- $r->print("
".&mt("Linked/Related Resources")."
\n")
+ $r->print("
".&mt("Linked/Related Resources")."
\n")
if ($hash{'display_attrs_11'} == 1);
- $r->print("
".&mt("Resource")."
\n")
+ $r->print("
".&mt("Resource")."
\n")
if ($hash{'display_attrs_7'} == 1);
- $r->print('
');
+ $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("
".&mt("Standards")."
\n")
+ if ($hash{'display_attrs_16'} == 1);
+
+ $r->print(&Apache::loncommon::end_data_table_header_row());
+
+
# ----------------- read in what directories have previously been set to "open"
foreach (keys %hash) {
@@ -613,15 +671,13 @@ END
# -------- recursively go through all the directories and output as appropriate
&scanDir ($r,$toplevel,$indent,\%hash);
-
# -------------------------------------------------------------- end the tables
- $r->print('
');
+ $r->print(&Apache::loncommon::end_data_table());
+
# ---------------------------- embed hidden information useful for group import
$r->print("");
-# -------------------------------------------------------------- end the tables
- $r->print('
');
# --------------------------------------------------- end the output and return
$r->print(&Apache::loncommon::end_page()."\n");
@@ -818,7 +874,7 @@ sub display_line {
$pathprefix=$startdir;
}
my $dirptr=16384;
- my $fileclr="#ffffe6";
+#SB my $fileclr="#ffffe6";
my $iconpath= $r->dir_config('lonIconsURL') . '/';
my @filecom = split (/\&/,$line);
@@ -827,10 +883,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<=16) {
$tabtag=join('',$tabtag,"
")
if ($i != 9 &&
$hash{'display_attrs_'.$i} == 1);
@@ -845,56 +902,60 @@ sub display_line {
$updir='/'.(split(/\.(page|sequence)\/\//,$startdir))[-1];
$updir=~s/\/+/\//g;
- $r->print("
\n");
+ $r->print(&mt("Up")."$tabtag");
+ $r->print(&Apache::loncommon::end_data_table_row());
return OK;
}
# Do we have permission to look at this?
-
- if($filecom[15] ne '1') { return OK if (!&Apache::lonnet::allowed('bre',$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]))); }
# make absolute links appear on different background
- if ($absolute) { $fileclr='#ccdd99'; }
+#SB if ($absolute) { $fileclr='#ccdd99'; }
# display domain
if ($filecom[1] eq 'domain') {
$r->print (''."\n")
if ($env{'form.dirPointer'} eq "on");
- $r->print("
'."\n");
- return OK;
+ $r->print ($listname.'');
+
+ if (defined($plainname) && $plainname) { $r->print(" ($plainname) "); }
+ $r->print(''.$tabtag);
+ $r->print(&Apache::loncommon::end_data_table_row());
+ 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);
- $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("