--- loncom/interface/lonsearchcat.pm 2006/05/30 12:46:09 1.265 +++ loncom/interface/lonsearchcat.pm 2006/07/31 19:45:58 1.275 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Search Catalog # -# $Id: lonsearchcat.pm,v 1.265 2006/05/30 12:46:09 www Exp $ +# $Id: lonsearchcat.pm,v 1.275 2006/07/31 19:45:58 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -155,7 +155,7 @@ sub handler { ## my $domain = $r->dir_config('lonDefDomain'); $diropendb= "/home/httpd/perl/tmp/". - "$env{'user.domain'}_$env{'user.name'}_searchcat.db"; + "$env{'user.domain'}_$env{'user.name'}_sel_res.db"; # # set the name of the persistent database # $env{'form.persistent_db_id'} can only have digits in it. @@ -215,7 +215,7 @@ sub handler { untie %groupsearch_db if (tied(%groupsearch_db)); if (($env{'form.cleargroupsort'} eq '1') || (($env{'form.launch'} eq '1') && - ($env{'form.catalogmode'} eq 'groupsearch'))) { + ($env{'form.catalogmode'} eq 'import'))) { if (tie(%groupsearch_db,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) { &start_fresh_session(); untie %groupsearch_db; @@ -260,7 +260,7 @@ sub handler { $closebutton .="onClick='self.close()'"; } $closebutton .=">\n"; - } elsif ($env{'form.catalogmode'} eq 'groupsearch') { + } elsif ($env{'form.catalogmode'} eq 'import') { $closebutton=" 'Search', 'reset' => 'Reset', 'help' => 'Help'); @@ -1540,12 +1540,12 @@ sub parse_domain_restrictions { $domain_hash{$_}++; } if ($domain_hash{'any'}) { - $pretty_domains_string = "In all LON-CAPA domains."; + $pretty_domains_string = &mt("in all LON-CAPA domains."); } else { if (@allowed_domains > 1) { - $pretty_domains_string = "In LON-CAPA domains:"; + $pretty_domains_string = &mt("in LON-CAPA domains:"); } else { - $pretty_domains_string = "In LON-CAPA domain "; + $pretty_domains_string = &mt("in LON-CAPA domain "); } foreach (sort @allowed_domains) { $pretty_domains_string .= "".$_." "; @@ -1614,6 +1614,9 @@ sub parse_basic_search { #} my $final_query = 'SELECT * FROM metadata WHERE '.join(" AND ",@Queries); # + if ($env{'form.related'}) { + $pretty_search_string.=' '.&mt('(including related words)'); + } if (defined($pretty_domains_string) && $pretty_domains_string ne '') { $pretty_search_string .= ' '.$pretty_domains_string; } @@ -2104,16 +2107,17 @@ sub print_sort_form { END my $start_page = &Apache::loncommon::start_page('Results',$js, - {'only_body' => 1}); + {'no_title' => 1}); my $breadcrumbs= &Apache::lonhtmlcommon::breadcrumbs('Searching','Searching', - $env{'form.catalogmode'} ne 'groupsearch'); + $env{'form.catalogmode'} ne 'import'); my $result = < - +
+ + END #

Sort Results

@@ -2132,7 +2136,7 @@ END

There are $total_results matches to your query. $revise

-Search:$pretty_query_string +Search: $pretty_query_string

END @@ -2334,15 +2338,15 @@ sub run_search { # Print run_search header # my $start_page = &Apache::loncommon::start_page('Search Status',undef, - {'only_body' => 1}); + {'no_title' => 1}); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Searching','Searching', - $env{'form.catalogmode'} ne 'groupsearch'); + $env{'form.catalogmode'} ne 'import'); $r->print(< - + END # Remove leading and trailing
$pretty_string =~ s:^\s*
::i; @@ -2527,7 +2531,7 @@ END # results to get, so let the client know the top frame needs to be # loaded from /adm/searchcat $r->print(&Apache::loncommon::end_page()); -# if ($env{'form.catalogmode'} ne 'groupsearch') { +# if ($env{'form.catalogmode'} ne 'import') { $r->print(" SCRIPT @@ -3086,25 +3090,12 @@ SCRIPT {'only_body' =>1}); my $result=< - +
$importbutton END return $result; } -###################################################################### -###################################################################### -sub search_status_header { - my $start_page = &Apache::loncommon::start_page('Search Status',undef, - {'only_body' => 1}); - return <Search Status -Sending search request to LON-CAPA servers.
-ENDSTATUS -} - sub results_link { my $basic_link = "/adm/searchcat?"."&table=".$env{'form.table'}. "&persistent_db_id=".$env{'form.persistent_db_id'}; @@ -3209,11 +3200,11 @@ sub detailed_citation_view { my ($prefix,%values) = @_; my $result; my $jumpurl=$values{'url'}; - $jumpurl=~s/^\/ext\//http\:\/\//; + $jumpurl=~s|^/ext/|http://|; $result .= ''.$prefix. - ''.' '. + ''.' '. ''.$values{'title'}."\n"; + 'target="preview">'.$values{'title'}."\n"; $result .= "

\n"; $result .= ''.$values{'author'}.','. ' '.$values{'owner'}.'
'; @@ -3277,25 +3268,29 @@ sub detailed_citation_view { next if (! exists($values{$field->{'name'}}) || $values{$field->{'name'}} eq ''); if (exists($field->{'type'}) && $field->{'type'} eq 'list') { - $result .= ''.&mt($field->{'translate'}).'

    '; + $result .= ''.&mt($field->{'translate'}).''; foreach my $item (split(',',$values{$field->{'name'}})){ - $result .= '
  • '. - ''.$item.'
  • '; + $result .= + &Apache::lonhtmlcommon::crumbs(&Apache::lonnet::clutter($item), + 'preview', + '', + (($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''),2,0,1); } - $result .= '
'; } elsif (exists($field->{'format'}) && $field->{'format'} ne ''){ $result.= &mt($field->{'translate'}, sprintf($field->{'format'}, $values{$field->{'name'}}))."
\n"; } else { if ($field->{'special'} eq 'url link') { - $result.= - &mt($field->{'translate'}, - ''. - $values{$field->{'name'}}. - ''); + if ($jumpurl=~/^http\:\/\//) { + $result.=''.$jumpurl.''; + } else { + $result .= + &Apache::lonhtmlcommon::crumbs($jumpurl, + 'preview', + '', + (($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''),3,0,1); + } } else { $result.= &mt($field->{'translate'}, $values{$field->{'name'}}); @@ -3351,11 +3346,19 @@ sub summary_view { $result .= ' '.$tmp.' '; } my $jumpurl=$values{'url'}; - $jumpurl=~s/^\/ext\//http\:\/\//; - + my $link; + if ($jumpurl=~m|^/ext/|) { + $jumpurl=~s|^/ext/|http://|; + $link='
'.$jumpurl.''; + } else { + $link=&Apache::lonhtmlcommon::crumbs($jumpurl, + 'preview', + '', + (($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''),2,0,1); + } $result.=<$values{'title'}
+ target='preview'>$values{'title'}$link $values{'author'}, $values{'owner'} -- $values{'lastrevisiondate'}
$values{'copyrighttag'}
$values{'extrashow'} @@ -3388,8 +3391,16 @@ sub summary_preview { sub compact_view { my ($prefix,%values) = @_; my $jumpurl=$values{'url'}; - $jumpurl=~s/^\/ext\//http\:\/\//; - + my $link; + if ($jumpurl=~m|^/ext/|) { + $jumpurl=~s|^/ext/|http://|; + $link=''.$jumpurl.''; + } else { + $link=&Apache::lonhtmlcommon::crumbs($jumpurl, + 'preview', + '', + (($env{'form.catalogmode'} eq 'import')?'parent.statusframe.document.forms.statusform':''),1,1,1).' '; + } my $result = $prefix.''; if (exists($env{'form.sortfield'}) && @@ -3398,8 +3409,8 @@ sub compact_view { if (! defined($tmp)) { $tmp = 'undefined'; } $result .= ' '.$tmp.' '; } - $result.=' '. - $values{'title'}.''.(' 'x2). + $result.=' '. + $values{'title'}.''.(' 'x2).$link. ''.$values{'author'}.' ('.$values{'domain'}.')
'; return $result; } @@ -3421,14 +3432,14 @@ sub fielded_format_view { my $icon=&Apache::loncommon::icon($values{'url'}); my %Translated = &Apache::lonmeta::fieldnames(); my $jumpurl=$values{'url'}; - $jumpurl=~s/^\/ext\//http\:\/\//; + $jumpurl=~s|^/ext/|http://|; my $result=<
URL:
$values{'url'}
+ target='preview'>$values{'url'} END foreach my $field ('title','author','domain','subject','keywords','notes', 'mimetag','language','creationdate','lastrevisiondate',