--- loncom/interface/lonindexer.pm 2006/06/23 07:02:51 1.147 +++ loncom/interface/lonindexer.pm 2006/07/21 08:25:25 1.149 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Directory Indexer # -# $Id: lonindexer.pm,v 1.147 2006/06/23 07:02:51 www Exp $ +# $Id: lonindexer.pm,v 1.149 2006/07/21 08:25:25 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'); @@ -1046,6 +1047,7 @@ sub display_line { # links &dynmetaread($filelink); $r->print(''); + &coursecontext($r,$filelink); &dynmetaprint($r,$filelink,'goto_list'); &dynmetaprint($r,$filelink,'comefrom_list'); &dynmetaprint($r,$filelink,'sequsage_list'); @@ -1148,6 +1150,17 @@ sub display_line { } +sub coursecontext { + my ($r,$filelink)=@_; + my $filesymb=&Apache::lonnet::symbread($filelink); + if ($filesymb) { + my ($map,$index,$resource)=&Apache::lonnet::decode_symb($filesymb); + $r->print(&mt('Already in this course:
[_1] in folder/map [_2].
', + &Apache::lonnet::gettitle($resource), + &Apache::lonnet::gettitle($map))); + } +} + sub showpreview { my ($filelink)=@_; my ($curfext)=($filelink=~/\.(\w+)$/); @@ -1219,14 +1232,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)/); } }