--- loncom/interface/lonsearchcat.pm 2006/02/07 19:46:30 1.252 +++ loncom/interface/lonsearchcat.pm 2006/03/06 18:23:10 1.255 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Search Catalog # -# $Id: lonsearchcat.pm,v 1.252 2006/02/07 19:46:30 albertel Exp $ +# $Id: lonsearchcat.pm,v 1.255 2006/03/06 18:23:10 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -77,6 +77,7 @@ use LONCAPA::lonmetadata(); use HTML::Entities(); use Parse::RecDescent; use Apache::lonnavmaps; +use Apache::lonindexer(); ###################################################################### ###################################################################### @@ -93,7 +94,9 @@ my %persistent_db; # gdbm hash which h # The different view modes and associated functions my %Views = ("detailed" => \&detailed_citation_view, + "detailedpreview" => \&detailed_citation_preview, "summary" => \&summary_view, + "summarypreview" => \&summary_preview, "fielded" => \&fielded_format_view, "xml" => \&xml_sgml_view, "compact" => \&compact_view); @@ -1080,7 +1083,9 @@ sub viewoptiontext { 'xml' => 'XML/SGML', 'compact' => 'Compact View', 'fielded' => 'Fielded Format', - 'summary' => 'Summary View'); + 'summary' => 'Summary View', + 'summarypreview' => 'Summary Preview', + 'detailedpreview' => 'Detailed Citation Preview'); return $desc{$code}; } @@ -1540,10 +1545,8 @@ sub parse_advanced_search { ## ## Deal with restrictions to given domains ## - my ($libraries_to_query,$pretty_domains_string,$domain_sql_restriction) = - &parse_domain_restrictions(); - if ((defined($domain_sql_restriction)) && ($domain_sql_restriction ne '')) { - push(@queries,$domain_sql_restriction); + my ($libraries_to_query,$pretty_domains_string) = &parse_domain_restrictions(); + if ($pretty_domains_string) { $pretty_search_string .= $pretty_domains_string."
\n"; } # @@ -1568,21 +1571,17 @@ sub parse_domain_restrictions { # my %domain_hash = (); my $pretty_domains_string; - my $domain_sql_restriction; foreach (@allowed_domains) { $domain_hash{$_}++; } if ($domain_hash{'any'}) { $pretty_domains_string = "In all LON-CAPA domains."; - $domain_sql_restriction = undef; } else { if (@allowed_domains > 1) { $pretty_domains_string = "In LON-CAPA domains:"; } else { $pretty_domains_string = "In LON-CAPA domain "; } - $domain_sql_restriction = - '(domain="'.join('" OR domain="',@allowed_domains).'")'; foreach (sort @allowed_domains) { $pretty_domains_string .= "".$_." "; } @@ -1593,8 +1592,7 @@ sub parse_domain_restrictions { } } return ($libraries_to_query, - $pretty_domains_string, - $domain_sql_restriction); + $pretty_domains_string); } ###################################################################### @@ -1623,8 +1621,7 @@ sub parse_basic_search { $env{"form.$_"}=&Apache::lonnet::unescape($env{"form.$_"}); $env{"form.$_"}=~s/[^\w\/\s\(\)\=\-\"\']//g; } - my ($libraries_to_query,$pretty_domains_string,$domain_sql_restriction) = - &parse_domain_restrictions(); + my ($libraries_to_query,$pretty_domains_string) = &parse_domain_restrictions(); # # Check to see if enough of a query is filled in my $search_string = $env{'form.basicexp'}; @@ -1647,9 +1644,6 @@ sub parse_basic_search { return; } push(@Queries,$SQLQuery); - if (defined($domain_sql_restriction) && $domain_sql_restriction ne '') { - push(@Queries,$domain_sql_restriction); - } #foreach my $q (@Queries) { # &Apache::lonnet::logthis(' '.$q); #} @@ -3344,6 +3338,16 @@ sub detailed_citation_view { return $result; } +sub detailed_citation_preview { + my ($prefix,%values)=@_; + return '
'. + &detailed_citation_view($prefix,%values). + ''. + &Apache::lonindexer::showpreview($values{'url'}). + '

'; +} + + ###################################################################### ###################################################################### @@ -3385,6 +3389,15 @@ END return $result; } +sub summary_preview { + my ($prefix,%values)=@_; + return '
'. + &summary_view($prefix,%values). + ''. + &Apache::lonindexer::showpreview($values{'url'}). + '

'; +} + ###################################################################### ######################################################################