[LON-CAPA-cvs] cvs: loncom(GCI_2) /interface lonindexer.pm
raeburn
raeburn@source.lon-capa.org
Wed, 02 Dec 2009 17:46:47 -0000
This is a MIME encoded message
--raeburn1259776007
Content-Type: text/plain
raeburn Wed Dec 2 17:46:47 2009 EDT
Modified files: (Branch: GCI_2)
/loncom/interface lonindexer.pm
Log:
- Backport 1.183, 1.184, 1.185, 1.186, 1.187, 1.188,
1.193, 1.194, 1.195, 1.196, 1.197, part of 1.198, 1.199
--raeburn1259776007
Content-Type: text/plain
Content-Disposition: attachment; filename="raeburn-20091202174647.txt"
Index: loncom/interface/lonindexer.pm
diff -u loncom/interface/lonindexer.pm:1.181 loncom/interface/lonindexer.pm:1.181.6.1
--- loncom/interface/lonindexer.pm:1.181 Fri Aug 1 14:53:42 2008
+++ loncom/interface/lonindexer.pm Wed Dec 2 17:46:46 2009
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Directory Indexer
#
-# $Id: lonindexer.pm,v 1.181 2008/08/01 14:53:42 bisitz Exp $
+# $Id: lonindexer.pm,v 1.181.6.1 2009/12/02 17:46:46 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -183,7 +183,7 @@
$colspan=" colspan='2' ";
my $cl=&mt('Close');
$closebutton=<<END;
-<input type="button" name="close" value='$cl' onClick="self.close()" />
+<input type="button" name="close" value='$cl' onclick="self.close()" />
END
}
elsif ($env{'form.catalogmode'} eq 'import') {
@@ -194,11 +194,11 @@
my $cl=&mt('Close');
my $gi=&mt('Import');
$closebutton=<<END;
-<input type="button" name="close" value='$cl' onClick="self.close()" />
+<input type="button" name="close" value='$cl' onclick="self.close()" />
END
$groupimportbutton=<<END;
<input type="button" name="groupimport" value='$gi'
-onClick="javascript:select_group()" />
+onclick="javascript:select_group()" />
END
}
# Additions made by Matthew to make the browser a little easier to deal
@@ -407,8 +407,14 @@
ENDHEADER
my ($headerdom)=($uri=~m{^/res/($match_domain)/});
- $r->print(&Apache::loncommon::start_page('Browse Resources',$js,
- {'domain' => $headerdom,}));
+ my %args = (
+ 'domain' => $headerdom,
+ );
+ if ($env{'form.catalogmode'}) {
+ # "Popup mode"
+ $args{'only_body'} = 1;
+ }
+ $r->print(&Apache::loncommon::start_page('Browse Resources',$js,\%args));
# ---------------------------------- get state of file types to be showing
if ($env{'form.only'}) {
$typeselect = $env{'form.only'};
@@ -418,16 +424,16 @@
# ---------------------------------- 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';
+ $attrchk[$i] = 'checked="checked"';
$hash{'display_attrs_'.$i} = 1;
}
}
} 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 +448,12 @@
'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 +461,37 @@
'ud' => 'Update Display',
'pr' => 'Problems',
'gr' => 'Graphics',
- 'at' => 'All types'
+ 'at' => 'All types',
+ 'hd' => 'Display Options',
);
$r->print(<<END);
-<form method="post" name="fileattr" action="$uri"
- enctype="application/x-www-form-urlencoded">
-<label><input type="checkbox" name="attr9" value="1" $attrchk[9] onClick="this.form.submit();" /> $lt{'av'}</label>
+<fieldset>
+<legend>$lt{'hd'}</legend>
+<form method="post" name="fileattr" action="$uri" enctype="application/x-www-form-urlencoded">
+<label><input type="checkbox" name="attr9" value="1" $attrchk[9] onclick="this.form.submit();" /> $lt{'av'}</label>
<table border="0">
<tr>
-<td><label><input type="checkbox" name="attr0" value="1" $attrchk[0] onClick="this.form.submit();" /> $lt{'ti'}</label></td>
-<td><label><input type="checkbox" name="attr4" value="1" $attrchk[4] onClick="this.form.submit();" /> $lt{'au'}</label></td>
-<td><label><input type="checkbox" name="attr5" value="1" $attrchk[5] onClick="this.form.submit();" /> $lt{'kw'}</label></td>
-<td><label><input type="checkbox" name="attr6" value="1" $attrchk[6] onClick="this.form.submit();" /> $lt{'ln'}</label></td>
+<td><label><input type="checkbox" name="attr0" value="1" $attrchk[0] onclick="this.form.submit();" /> $lt{'ti'}</label></td>
+<td><label><input type="checkbox" name="attr4" value="1" $attrchk[4] onclick="this.form.submit();" /> $lt{'au'}</label></td>
+<td><label><input type="checkbox" name="attr5" value="1" $attrchk[5] onclick="this.form.submit();" /> $lt{'kw'}</label></td>
+<td><label><input type="checkbox" name="attr6" value="1" $attrchk[6] onclick="this.form.submit();" /> $lt{'ln'}</label></td>
+<td><label><input type="checkbox" name="attr13" value="1" $attrchk[13] onclick="this.form.submit();" /> $lt{'nt'}</label></td>
+<td><label><input type="checkbox" name="attr16" value="1" $attrchk[16] onclick="this.form.submit();" /> $lt{'sd'}</label></td>
</tr>
<tr>
-<td><label><input type="checkbox" name="attr1" value="1" $attrchk[1] onClick="this.form.submit();" /> $lt{'si'}</label></td>
-<td><label><input type="checkbox" name="attr2" value="1" $attrchk[2] onClick="this.form.submit();" /> $lt{'la'}</label></td>
-<td><label><input type="checkbox" name="attr3" value="1" $attrchk[3] onClick="this.form.submit();" /> $lt{'lm'}</label></td>
-<td><label><input type="checkbox" name="attr10" value="1" $attrchk[10] onClick="this.form.submit();" /> $lt{'sa'}</label></td>
+<td><label><input type="checkbox" name="attr1" value="1" $attrchk[1] onclick="this.form.submit();" /> $lt{'si'}</label></td>
+<td><label><input type="checkbox" name="attr2" value="1" $attrchk[2] onclick="this.form.submit();" /> $lt{'la'}</label></td>
+<td><label><input type="checkbox" name="attr3" value="1" $attrchk[3] onclick="this.form.submit();" /> $lt{'lm'}</label></td>
+<td><label><input type="checkbox" name="attr10" value="1" $attrchk[10] onclick="this.form.submit();" /> $lt{'sa'}</label></td>
+<td><label><input type="checkbox" name="attr14" value="1" $attrchk[14] onclick="this.form.submit();" /> $lt{'ab'}</label></td>
+<td> </td>
</tr>
<tr>
-<td><label><input type="checkbox" name="attr8" value="1" $attrchk[8] onClick="this.form.submit();" /> $lt{'st'}</label></td>
-<td><label><input type="checkbox" name="attr11" value="1" $attrchk[11] onClick="this.form.submit();" /> $lt{'li'}</label></td>
-<td><label><input type="checkbox" name="attr7" value="1" $attrchk[7] onClick="this.form.submit();" /> $lt{'sr'}</label></td>
+<td><label><input type="checkbox" name="attr8" value="1" $attrchk[8] onclick="this.form.submit();" /> $lt{'st'}</label></td>
+<td><label><input type="checkbox" name="attr11" value="1" $attrchk[11] onclick="this.form.submit();" /> $lt{'li'}</label></td>
+<td><label><input type="checkbox" name="attr7" value="1" $attrchk[7] onclick="this.form.submit();" /> $lt{'sr'}</label></td>
+<td><label><input type="checkbox" name="attr12" value="1" $attrchk[12] onclick="this.form.submit();" /> $lt{'sb'}</label></td>
+<td><label><input type="checkbox" name="attr15" value="1" $attrchk[15] onclick="this.form.submit();" /> $lt{'gl'}</label></td>
<td> </td>
</tr>
</table>
@@ -493,8 +512,9 @@
%select_file_categories);
$type_element = '<label>'.&mt('File Type Displayed: [_1]',
$type_element).'</label>';
+ $r->print($type_element
+ .'</fieldset>');
$r->print(<<END);
-$type_element
<br />
<input type="submit" name="updatedisplay" value="$lt{'ud'}" />
<input type="hidden" name="acts" value="" />
@@ -529,8 +549,8 @@
&Apache::lonhtmlcommon::store_recent('residx',$storeuri,$storeuri);
# -------------------------------------------------- Check All and Uncheck all
if ($env{'form.catalogmode'} eq 'import') {
- $r->print('<br /><input type="button" value="'.&mt("Check All").'" id="checkallbutton" onClick="javascript:checkAll()" />');
- $r->print('<input type="button" value="'.&mt("Uncheck All").'" id="uncheckallbutton" onClick="javascript:uncheckAll()" />');
+ $r->print('<br /><input type="button" value="'.&mt("Check All").'" id="checkallbutton" onclick="javascript:checkAll()" />');
+ $r->print('<input type="button" value="'.&mt("Uncheck All").'" id="uncheckallbutton" onclick="javascript:uncheckAll()" />');
}
# ----------------- output starting row to the indexed file/directory hierarchy
my $titleclr="#ddffff";
@@ -563,6 +583,16 @@
if ($hash{'display_attrs_11'} == 1);
$r->print("<td><b>".&mt("Resource")."</b></td>\n")
if ($hash{'display_attrs_7'} == 1);
+ $r->print("<th>".&mt("Subject")."</th>\n")
+ if ($hash{'display_attrs_12'} == 1);
+ $r->print("<th>".&mt("Notes")."</th>\n")
+ if ($hash{'display_attrs_13'} == 1);
+ $r->print("<th>".&mt("Abstract")."</th>\n")
+ if ($hash{'display_attrs_14'} == 1);
+ $r->print("<th>".&mt("Grade Level")."</th>\n")
+ if ($hash{'display_attrs_15'} == 1);
+ $r->print("<th>".&mt("Standards")."</th>\n")
+ if ($hash{'display_attrs_16'} == 1);
$r->print('</tr>');
# ----------------- read in what directories have previously been set to "open"
@@ -830,7 +860,7 @@
my $tabtag='</td>';
my $i=0;
- while ($i<=11) {
+ while ($i<=16) {
$tabtag=join('',$tabtag,"<td> </td>")
if ($i != 9 &&
$hash{'display_attrs_'.$i} == 1);
@@ -849,16 +879,16 @@
$r->print("<td>\n");
$r->print ('<form method="post" name="dirpathUP" action="'.$updir.
'/" '.
- 'onSubmit="return rep_dirpath(\'UP\','.
+ 'onsubmit="return rep_dirpath(\'UP\','.
'document.forms.fileattr.acts.value)" '.
'enctype="application/x-www-form-urlencoded"'.
'>'."\n");
$r->print(&Apache::loncommon::inhibit_menu_check('input'));
- $r->print ('<input type=hidden name=openuri value="'.
+ $r->print ('<input type="hidden" name="openuri" value="'.
$startdir.'" />'."\n");
$r->print ('<input type="hidden" name="acts" value="" />'."\n");
$r->print ('<input src="'.$iconpath.'arrow_up.gif"');
- $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.
+ $r->print (' name="'.$msg.'" alt="'.$msg.'" type="image" class="LC_indexer_icon" />'.
"\n");
$r->print(&mt("Up")."</form>$tabtag</tr>\n");
return OK;
@@ -883,7 +913,7 @@
$r->print ('<input type="hidden" name="acts" value="" />');
$r->print ('<input src="'.$iconpath.'folder_pointer_'.
$diropen.'.gif"');
- $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.
+ $r->print (' name="'.$msg.'" alt="'.$msg.'" type="image" class="LC_indexer_icon" />'.
"\n");
my $quotable_filecom = &Apache::loncommon::escape_single($filecom[0]);
$r->print ('<a href="javascript:gothere(\''.$quotable_filecom.
@@ -911,7 +941,7 @@
$r->print ('<input type="hidden" name="acts" value="" />');
$r->print ('<input src="'.$iconpath.'folder_pointer_'.$diropen.
'.gif"');
- $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.
+ $r->print (' name="'.$msg.'" alt="'.$msg.'" type="image" class="LC_indexer_icon" />'.
"\n");
my $quotable_curdir = &Apache::loncommon::escape_single($curdir);
$r->print ('<a href="javascript:gothere(\''.$quotable_curdir
@@ -944,7 +974,8 @@
}
# Set the icon for the file
my $iconname = &Apache::loncommon::icon($listname);
- $r->print("<tr valign='$valign' bgcolor=\"$fileclr\"><td nowrap='nowrap' valign='top'>");
+ $r->print('<tr valign="'.$valign.'" bgcolor="'.$fileclr.'">'.
+ '<td valign="top"><span class="LC_nobreak">');
if ($env{'form.catalogmode'} eq 'interactive') {
my $quotable_filelink = &Apache::loncommon::escape_single($filelink);
@@ -952,17 +983,17 @@
$quotable_filelink,"')\">");
$r->print("<img alt=\"\" src='",$iconpath,"select.gif' class='LC_icon' /></a>".
"\n");
- $r->print("</td><td nowrap='nowrap' valign='top'>");
+ $r->print('</span></td><td valign="top"><span class="LC_nobreak">');
} elsif ($env{'form.catalogmode'} eq 'import') {
$r->print("<form name='form$fnum' action=''>\n");
$r->print("<input type='checkbox' name='filelink"."' ".
- "value='$filelink' onClick='".
+ "value='$filelink' onclick='".
"javascript:queue(\"form$fnum\")' ");
if ($hash{'store_'.$filelink}) {
$r->print("checked");
}
$r->print(" />\n");
- $r->print("</form></td><td nowrap='nowrap' valign='top'>");
+ $r->print('</form></span></td><td valign="top"><span class="LC_nobreak">');
$hash{"pre_${fnum}_link"}=$filelink;
$hash{"pre_${fnum}_title"}=$title;
if (!$hash{"pre_${fnum}_title"}) {
@@ -977,7 +1008,7 @@
$indent--;
}
# General indentation
- if ($indent > 0 and $indent < 11) {
+ if ($indent > 0 and $indent < 16) {
$r->print("<img alt=\"\" src='",$iconpath,"whitespace",$indent,
".gif' class='LC_icon' />\n");
} elsif ($indent >0) {
@@ -1000,7 +1031,7 @@
$r->print ('<input type="hidden" name="acts" value="" />');
$r->print ('<a name="'.$anchor.'"></a><input src="'.$iconpath.
'folder_pointer_'.$diropen.'.gif"');
- $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.
+ $r->print (' name="'.$msg.'" alt="'.$msg.'" type="image" class="LC_indexer_icon" />'.
"\n");
}
# Filetype icons
@@ -1019,12 +1050,12 @@
if ($filelink=~/\.(page|sequence)$/) {
$r->print('</form>');
}
- $r->print("</td>\n");
+ $r->print("</span></td>\n");
if ($hash{'display_attrs_0'} == 1) {
$r->print('<td> '.($title eq '' ? ' ' : $title).
' </td>'."\n");
}
- $r->print('<td align=right> ',
+ $r->print('<td align="right"> ',
$filecom[8]," </td>\n")
if $hash{'display_attrs_1'} == 1;
$r->print('<td> '.
@@ -1057,17 +1088,11 @@
# statistics
&dynmetaread($filelink);
$r->print("<td>");
- &dynmetaprint($r,$filelink,'count');
- &dynmetaprint($r,$filelink,'course');
- &dynmetaprint($r,$filelink,'stdno');
- &dynmetaprint($r,$filelink,'avetries');
- &dynmetaprint($r,$filelink,'difficulty');
- &dynmetaprint($r,$filelink,'disc');
- &dynmetaprint($r,$filelink,'clear');
- &dynmetaprint($r,$filelink,'technical');
- &dynmetaprint($r,$filelink,'correct');
- &dynmetaprint($r,$filelink,'helpful');
- &dynmetaprint($r,$filelink,'depth');
+ for (qw(count course stdno avetries difficulty disc clear technical
+ correct helpful depth)) {
+
+ &dynmetaprint($r,$filelink,$_);
+ }
$r->print(" </td>\n");
}
@@ -1090,12 +1115,10 @@
&dynmetaread($filelink);
$r->print('<td>');
&coursecontext($r,$filelink);
- &dynmetaprint($r,$filelink,'goto_list');
- &dynmetaprint($r,$filelink,'comefrom_list');
- &dynmetaprint($r,$filelink,'sequsage_list');
- &dynmetaprint($r,$filelink,'dependencies');
- &dynmetaprint($r,$filelink,'course_list');
- $r->print('</td>');
+ for (qw(goto_list comefrom_list sequsage_list dependencies course_list)) {
+ &dynmetaprint($r,$filelink,$_);
+ }
+ $r->print('</td>');
}
if ($hash{'display_attrs_7'} == 1) {
# Show resource
@@ -1103,6 +1126,36 @@
$r->print('<td> '.($output eq '' ? ' ':$output).
" </td>\n");
}
+ if ($hash{'display_attrs_12'} == 1) {
+ my $subject = &Apache::lonnet::metadata($filelink,'subject');
+ $r->print('<td> '.($subject eq '' ? ' ' : $subject).
+ " </td>\n");
+ }
+
+ if ($hash{'display_attrs_13'} == 1) {
+ my $notes = &Apache::lonnet::metadata($filelink,'notes');
+ $r->print('<td> '.($notes eq '' ? ' ' : $notes).
+ " </td>\n");
+ }
+
+ if ($hash{'display_attrs_14'} == 1) {
+ my $abstract = &Apache::lonnet::metadata($filelink,'abstract');
+ $r->print('<td> '.($abstract eq '' ? ' ' : $abstract).
+ " </td>\n");
+ }
+
+ if ($hash{'display_attrs_15'} == 1) {
+ my $gradelevel = &Apache::lonnet::metadata($filelink,'gradelevel');
+ $r->print('<td> '.($gradelevel eq '' ? ' ' : $gradelevel).
+ " </td>\n");
+ }
+
+ if ($hash{'display_attrs_16'} == 1) {
+ my $standards = &Apache::lonnet::metadata($filelink,'standards');
+ $r->print('<td> '.($standards eq '' ? ' ' : $standards).
+ " </td>\n");
+ }
+
$r->print("</tr>\n");
}
@@ -1114,7 +1167,7 @@
$r->print("<tr bgcolor=\"$fileclr\">$extrafield<td valign=$valign>");
&begin_form ($r,$curdir);
my $indentm1 = $indent-1;
- if ($indentm1 < 11 and $indentm1 > 0) {
+ if ($indentm1 < 16 and $indentm1 > 0) {
$r->print("<img alt=\"\" src=",$iconpath,"whitespace",$indentm1,
".gif class='LC_icon' />\n");
} else {
@@ -1132,7 +1185,7 @@
$r->print ('<input type="hidden" name="acts" value="" />');
$r->print ('<a name="'.$anchor.'"></a><input src="'.$iconpath.
'folder_pointer_'.$diropen.'.gif"');
- $r->print (' name="'.$msg.'" type="image" class="LC_indexer_icon" />'.
+ $r->print (' name="'.$msg.'" alt="'.$msg.'" type="image" class="LC_indexer_icon" />'.
"\n");
my $quotable_curdir = &Apache::loncommon::escape_single($curdir);
$r->print ('<a href="javascript:gothere(\''
@@ -1182,12 +1235,42 @@
if ($hash{'display_attrs_10'} == 1) {
$r->print('<td> </td>');
}
- if ($hash{'display_attrs_11'} == 1) {
- $r->print('<td> </td>');
- }
if ($hash{'display_attrs_7'} == 1) {
$r->print('<td> </td>');
}
+ if ($hash{'display_attrs_12'} == 1) {
+ my $subject = &Apache::lonnet::metadata($filelink,'subject');
+ $r->print('<td> '.($subject eq '' ? ' ' : $subject).
+ " </td>\n");
+ }
+ if ($hash{'display_attrs_11'} == 1) {
+ $r->print('<td> </td>');
+ }
+ if ($hash{'display_attrs_12'} == 1) {
+ my $subject = &Apache::lonnet::metadata($filelink,'subject');
+ $r->print('<td> '.($subject eq '' ? ' ' : $subject).
+ " </td>\n");
+ }
+ if ($hash{'display_attrs_13'} == 1) {
+ my $notes = &Apache::lonnet::metadata($filelink,'notes');
+ $r->print('<td> '.($notes eq '' ? ' ' : $notes).
+ " </td>\n");
+ }
+ if ($hash{'display_attrs_14'} == 1) {
+ my $abstract = &Apache::lonnet::metadata($filelink,'abstract');
+ $r->print('<td> '.($abstract eq '' ? ' ' : $abstract).
+ " </td>\n");
+ }
+ if ($hash{'display_attrs_15'} == 1) {
+ my $gradelevel = &Apache::lonnet::metadata($filelink,'gradelevel');
+ $r->print('<td> '.($gradelevel eq '' ? ' ' : $gradelevel).
+ " </td>\n");
+ }
+ if ($hash{'display_attrs_16'} == 1) {
+ my $standards = &Apache::lonnet::metadata($filelink,'standards');
+ $r->print('<td> '.($standards eq '' ? ' ' : $standards).
+ " </td>\n");
+ }
$r->print('</tr>');
}
@@ -1268,7 +1351,7 @@
$uri=&Apache::loncommon::escape_single($uri);
$r->print ('<form method="post" name="dirpath'.$dnum.'" action="'.$uri.
'#'.$anchor.
- '" onSubmit="return rep_dirpath(\''.$dnum.'\''.
+ '" onsubmit="return rep_dirpath(\''.$dnum.'\''.
',document.forms.fileattr.acts.value)" '.
'enctype="application/x-www-form-urlencoded">'."\n");
$r->print ('<input type="hidden" name="openuri" value="'.$uri.'" />'.
--raeburn1259776007--