--- loncom/interface/lonindexer.pm 2006/06/23 07:32:02 1.148
+++ loncom/interface/lonindexer.pm 2006/09/29 18:21:43 1.153
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Directory Indexer
#
-# $Id: lonindexer.pm,v 1.148 2006/06/23 07:32:02 www Exp $
+# $Id: lonindexer.pm,v 1.153 2006/09/29 18:21:43 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -123,7 +123,11 @@ sub handler {
%hash = ();
{
my %dbfile;
- if (tie(%dbfile,'GDBM_File',$diropendb,&GDBM_READER(),0640)) {
+ if (tie(%dbfile,'GDBM_File',$diropendb,&GDBM_WRITER(),0640)) {
+ if ($env{'form.launch'} eq '1') {
+ &start_fresh_session(\%dbfile);
+ }
+
while(my($key,$value)=each(%dbfile)) {
$hash{$key}=$value;
}
@@ -131,9 +135,6 @@ sub handler {
}
}
{
- if ($env{'form.launch'} eq '1') {
- &start_fresh_session();
- }
#Hijack lonindexer to verify a title and be close down.
if ($env{'form.launch'} eq '2') {
&Apache::loncommon::content_type($r,'text/html');
@@ -171,7 +172,7 @@ ENDSUBM
# --------------------- define extra fields and buttons in case of special mode
if ($env{'form.catalogmode'} eq 'interactive') {
$extrafield='
'.
- ' | ';
$colspan=" colspan='2' ";
my $cl=&mt('Close');
@@ -181,7 +182,7 @@ END
}
elsif ($env{'form.catalogmode'} eq 'import') {
$extrafield=''.
- ' | ';
$colspan=" colspan='2' ";
my $cl=&mt('Close');
@@ -579,12 +580,13 @@ END
# -------- recursively go through all the directories and output as appropriate
&scanDir ($r,$toplevel,$indent,\%hash);
-# ---------------------------- embed hidden information useful for group import
- $r->print("");
# -------------------------------------------------------------- end the tables
$r->print('');
+# ---------------------------- embed hidden information useful for group import
+ $r->print("");
+# -------------------------------------------------------------- end the tables
$r->print('');
# --------------------------------------------------- end the output and return
@@ -841,7 +843,7 @@ sub display_line {
&begin_form ($r,$filecom[0]);
my $anchor = $filecom[0];
$anchor =~ s/\///g;
- $r->print ('');
+ $r->print ('');
$r->print ('');
$r->print ('print ('
print (' border="0" />'."\n");
$r->print (&mt("Domain")." - $listname ");
if ($Apache::lonnet::domaindescription{$listname}) {
@@ -868,7 +870,7 @@ sub display_line {
my $anchor = $curdir;
$anchor =~ s/\///g;
&begin_form ($r,$curdir);
- $r->print ('
'."\n");
$r->print ('');
$r->print ('print ('
');
my $domain=(split(m|/|,$startdir))[2];
@@ -909,11 +911,11 @@ sub display_line {
my $quotable_filelink = &Apache::loncommon::escape_single($filelink);
$r->print("");
- $r->print("
".
+ $r->print("
".
"\n");
- $r->print("");
+ $r->print(" | ");
} elsif ($env{'form.catalogmode'} eq 'import') {
- $r->print(" | ");
+ $r->print(" | ");
$hash{"pre_${fnum}_link"}=$filelink;
$fnum++;
}
@@ -935,18 +937,18 @@ sub display_line {
}
# General indentation
if ($indent > 0 and $indent < 11) {
- $r->print(" print(" \n");
} elsif ($indent >0) {
my $ten = int($indent/10.);
my $rem = $indent%10.0;
my $count = 0;
while ($count < $ten) {
- $r->print(" \n");
$count++;
}
- $r->print(" print(" \n") if $rem > 0;
}
# Sequence open/close icon
@@ -955,23 +957,23 @@ sub display_line {
my $anchor = $curdir;
$anchor =~ s/\///g;
$r->print ('');
- $r->print ('print (' name="'.$msg.'" height="22" type="image" border="0" />'.
"\n");
}
# Filetype icons
- $r->print(" \n");
+ $r->print(" \n");
my $quotable_filelink = &Apache::loncommon::escape_single($filelink);
$r->print (" $listname ");
+ "', 'previewfile', '450', '500', 'no', 'yes','yes');\"".
+ " target=\"_self\">$listname ");
$r->print (" (metadata) ");
+ ".meta', 'metadatafile', '500', '550', 'no', 'yes','no');\" ".
+ " target=\"_self\">metadata) ");
# Close form to open/close sequence
if ($filelink=~/\.(page|sequence)$/) {
$r->print('');
@@ -1036,8 +1038,8 @@ sub display_line {
my $quotable_sourcelink = &Apache::loncommon::escape_single($sourcelink);
$r->print(' | '."Yes "." | \n");
+ "', 'previewsource', '700', '700', 'no', 'yes','yes');\"".
+ " target=\"_self\">Yes "."\n");
} else { #A cuddled else. :P
$r->print(" | \n");
}
@@ -1072,31 +1074,32 @@ sub display_line {
&begin_form ($r,$curdir);
my $indentm1 = $indent-1;
if ($indentm1 < 11 and $indentm1 > 0) {
- $r->print("
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 ("
print ("
\n") if $rem > 0;
}
$r->print ('');
- $r->print ('print (' name="'.$msg.'" height="22" type="image" border="0" />'.
"\n");
my $quotable_curdir = &Apache::loncommon::escape_single($curdir);
$r->print ('
'
+ .'
'.
"\n");
- $r->print ("$listname\n");
+ $r->print ("$listname\n");
# Attributes
my $filelink = $startdir.$filecom[0].'/default';
@@ -1144,7 +1147,7 @@ sub display_line {
if ($hash{'display_attrs_7'} == 1) {
$r->print(' | ');
}
- $r->print('');
+ $r->print('');
}
}
@@ -1162,6 +1165,9 @@ sub coursecontext {
sub showpreview {
my ($filelink)=@_;
+ if ($filelink=~m-^(/ext/|http://)-) {
+ return &mt('External Resource, preview not enabled');
+ }
my ($curfext)=($filelink=~/\.(\w+)$/);
my $output='';
my $embstyle=&Apache::loncommon::fileembstyle($curfext);
@@ -1192,9 +1198,9 @@ sub showpreview {
}
$output=''.$output.'';
} elsif ($embstyle eq 'img') {
- $output='
';
+ $output='
';
} elsif ($filelink=~/^\/res\/(\w+)\/(\w+)\//) {
- $output='
';
}
@@ -1231,14 +1237,15 @@ sub begin_form {
# --------- settings whenever the user causes the indexer window to be launched
sub start_fresh_session {
- delete $hash{'form.catalogmode'};
- delete $hash{'form.mode'};
- delete $hash{'form.form'};
- delete $hash{'form.element'};
- delete $hash{'form.omit'};
- delete $hash{'form.only'};
- foreach (keys %hash) {
- delete $hash{$_} if (/^(pre_|store)/);
+ my ($hash) = @_;
+ delete $hash->{'form.catalogmode'};
+ delete $hash->{'form.mode'};
+ delete $hash->{'form.form'};
+ delete $hash->{'form.element'};
+ delete $hash->{'form.omit'};
+ delete $hash->{'form.only'};
+ foreach (keys %{$hash}) {
+ delete $hash->{$_} if (/^(pre_|store)/);
}
}