version 1.251, 2006/02/05 20:56:57
|
version 1.255, 2006/03/06 18:23:10
|
Line 77 use LONCAPA::lonmetadata();
|
Line 77 use LONCAPA::lonmetadata();
|
use HTML::Entities(); |
use HTML::Entities(); |
use Parse::RecDescent; |
use Parse::RecDescent; |
use Apache::lonnavmaps; |
use Apache::lonnavmaps; |
|
use Apache::lonindexer(); |
|
|
###################################################################### |
###################################################################### |
###################################################################### |
###################################################################### |
Line 93 my %persistent_db; # gdbm hash which h
|
Line 94 my %persistent_db; # gdbm hash which h
|
# The different view modes and associated functions |
# The different view modes and associated functions |
|
|
my %Views = ("detailed" => \&detailed_citation_view, |
my %Views = ("detailed" => \&detailed_citation_view, |
|
"detailedpreview" => \&detailed_citation_preview, |
"summary" => \&summary_view, |
"summary" => \&summary_view, |
|
"summarypreview" => \&summary_preview, |
"fielded" => \&fielded_format_view, |
"fielded" => \&fielded_format_view, |
"xml" => \&xml_sgml_view, |
"xml" => \&xml_sgml_view, |
"compact" => \&compact_view); |
"compact" => \&compact_view); |
Line 1080 sub viewoptiontext {
|
Line 1083 sub viewoptiontext {
|
'xml' => 'XML/SGML', |
'xml' => 'XML/SGML', |
'compact' => 'Compact View', |
'compact' => 'Compact View', |
'fielded' => 'Fielded Format', |
'fielded' => 'Fielded Format', |
'summary' => 'Summary View'); |
'summary' => 'Summary View', |
|
'summarypreview' => 'Summary Preview', |
|
'detailedpreview' => 'Detailed Citation Preview'); |
return $desc{$code}; |
return $desc{$code}; |
} |
} |
|
|
Line 1540 sub parse_advanced_search {
|
Line 1545 sub parse_advanced_search {
|
## |
## |
## Deal with restrictions to given domains |
## Deal with restrictions to given domains |
## |
## |
my ($libraries_to_query,$pretty_domains_string,$domain_sql_restriction) = |
my ($libraries_to_query,$pretty_domains_string) = &parse_domain_restrictions(); |
&parse_domain_restrictions(); |
if ($pretty_domains_string) { |
if ((defined($domain_sql_restriction)) && ($domain_sql_restriction ne '')) { |
|
push(@queries,$domain_sql_restriction); |
|
$pretty_search_string .= $pretty_domains_string."<br />\n"; |
$pretty_search_string .= $pretty_domains_string."<br />\n"; |
} |
} |
# |
# |
Line 1568 sub parse_domain_restrictions {
|
Line 1571 sub parse_domain_restrictions {
|
# |
# |
my %domain_hash = (); |
my %domain_hash = (); |
my $pretty_domains_string; |
my $pretty_domains_string; |
my $domain_sql_restriction; |
|
foreach (@allowed_domains) { |
foreach (@allowed_domains) { |
$domain_hash{$_}++; |
$domain_hash{$_}++; |
} |
} |
if ($domain_hash{'any'}) { |
if ($domain_hash{'any'}) { |
$pretty_domains_string = "In all LON-CAPA domains."; |
$pretty_domains_string = "In all LON-CAPA domains."; |
$domain_sql_restriction = undef; |
|
} else { |
} else { |
if (@allowed_domains > 1) { |
if (@allowed_domains > 1) { |
$pretty_domains_string = "In LON-CAPA domains:"; |
$pretty_domains_string = "In LON-CAPA domains:"; |
} else { |
} else { |
$pretty_domains_string = "In LON-CAPA domain "; |
$pretty_domains_string = "In LON-CAPA domain "; |
} |
} |
$domain_sql_restriction = |
|
'(domain="'.join('" OR domain="',@allowed_domains).'")'; |
|
foreach (sort @allowed_domains) { |
foreach (sort @allowed_domains) { |
$pretty_domains_string .= "<b>".$_."</b> "; |
$pretty_domains_string .= "<b>".$_."</b> "; |
} |
} |
Line 1593 sub parse_domain_restrictions {
|
Line 1592 sub parse_domain_restrictions {
|
} |
} |
} |
} |
return ($libraries_to_query, |
return ($libraries_to_query, |
$pretty_domains_string, |
$pretty_domains_string); |
$domain_sql_restriction); |
|
} |
} |
|
|
###################################################################### |
###################################################################### |
Line 1623 sub parse_basic_search {
|
Line 1621 sub parse_basic_search {
|
$env{"form.$_"}=&Apache::lonnet::unescape($env{"form.$_"}); |
$env{"form.$_"}=&Apache::lonnet::unescape($env{"form.$_"}); |
$env{"form.$_"}=~s/[^\w\/\s\(\)\=\-\"\']//g; |
$env{"form.$_"}=~s/[^\w\/\s\(\)\=\-\"\']//g; |
} |
} |
my ($libraries_to_query,$pretty_domains_string,$domain_sql_restriction) = |
my ($libraries_to_query,$pretty_domains_string) = &parse_domain_restrictions(); |
&parse_domain_restrictions(); |
|
# |
# |
# Check to see if enough of a query is filled in |
# Check to see if enough of a query is filled in |
my $search_string = $env{'form.basicexp'}; |
my $search_string = $env{'form.basicexp'}; |
Line 1647 sub parse_basic_search {
|
Line 1644 sub parse_basic_search {
|
return; |
return; |
} |
} |
push(@Queries,$SQLQuery); |
push(@Queries,$SQLQuery); |
if (defined($domain_sql_restriction) && $domain_sql_restriction ne '') { |
|
push(@Queries,$domain_sql_restriction); |
|
} |
|
#foreach my $q (@Queries) { |
#foreach my $q (@Queries) { |
# &Apache::lonnet::logthis(' '.$q); |
# &Apache::lonnet::logthis(' '.$q); |
#} |
#} |
Line 3344 sub detailed_citation_view {
|
Line 3338 sub detailed_citation_view {
|
return $result; |
return $result; |
} |
} |
|
|
|
sub detailed_citation_preview { |
|
my ($prefix,%values)=@_; |
|
return '<table><tr><td>'. |
|
&detailed_citation_view($prefix,%values). |
|
'</td><td>'. |
|
&Apache::lonindexer::showpreview($values{'url'}). |
|
'</td></tr></table><hr />'; |
|
} |
|
|
|
|
###################################################################### |
###################################################################### |
###################################################################### |
###################################################################### |
|
|
Line 3385 END
|
Line 3389 END
|
return $result; |
return $result; |
} |
} |
|
|
|
sub summary_preview { |
|
my ($prefix,%values)=@_; |
|
return '<table><tr><td>'. |
|
&summary_view($prefix,%values). |
|
'</td><td>'. |
|
&Apache::lonindexer::showpreview($values{'url'}). |
|
'</td></tr></table><hr />'; |
|
} |
|
|
###################################################################### |
###################################################################### |
###################################################################### |
###################################################################### |
|
|
Line 3739 sub cleanup {
|
Line 3752 sub cleanup {
|
} |
} |
&untiehash(); |
&untiehash(); |
&Apache::lonmysql::disconnect_from_db(); |
&Apache::lonmysql::disconnect_from_db(); |
|
return OK; |
} |
} |
|
|
__END__ |
__END__ |