version 1.224, 2004/05/07 18:50:14
|
version 1.227, 2004/05/10 18:59:18
|
Line 174 sub handler {
|
Line 174 sub handler {
|
'&launch='.$ENV{'form.launch'}. |
'&launch='.$ENV{'form.launch'}. |
'&mode='.$ENV{'form.mode'}, |
'&mode='.$ENV{'form.mode'}, |
text=>"Course and Catalog Search", |
text=>"Course and Catalog Search", |
|
target=>'_top', |
bug=>'Searching',}); |
bug=>'Searching',}); |
} else { |
} else { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
Line 182 sub handler {
|
Line 183 sub handler {
|
'&launch='.$ENV{'form.launch'}. |
'&launch='.$ENV{'form.launch'}. |
'&mode='.$ENV{'form.mode'}, |
'&mode='.$ENV{'form.mode'}, |
text=>"Catalog Search", |
text=>"Catalog Search", |
|
target=>'_top', |
bug=>'Searching',}); |
bug=>'Searching',}); |
} |
} |
# |
# |
Line 559 Prints the form for the basic search. S
|
Line 561 Prints the form for the basic search. S
|
###################################################################### |
###################################################################### |
sub print_basic_search_form { |
sub print_basic_search_form { |
my ($r,$closebutton,$hidden_fields) = @_; |
my ($r,$closebutton,$hidden_fields) = @_; |
|
my $result = ($ENV{'form.catalogmode'} ne 'groupsearch'); |
my $bodytag=&Apache::loncommon::bodytag('Search'). |
my $bodytag=&Apache::loncommon::bodytag('Search'). |
&Apache::lonhtmlcommon::breadcrumbs(undef,'Searching','Searching', |
&Apache::lonhtmlcommon::breadcrumbs(undef,'Searching','Searching', |
undef,undef,! $ENV{'form.launch'}); |
undef,undef, |
|
$ENV{'form.catalogmode'} ne 'groupsearch'); |
my $scrout = &search_html_header().$bodytag; |
my $scrout = &search_html_header().$bodytag; |
if (&Apache::lonnet::allowed('bre',$ENV{'request.role.domain'})) { |
if (&Apache::lonnet::allowed('bre',$ENV{'request.role.domain'})) { |
# Define interface components |
# Define interface components |
Line 689 Prints the advanced search form.
|
Line 693 Prints the advanced search form.
|
sub print_advanced_search_form{ |
sub print_advanced_search_form{ |
my ($r,$closebutton,$hidden_fields) = @_; |
my ($r,$closebutton,$hidden_fields) = @_; |
my $bodytag=&Apache::loncommon::bodytag('Advanced Catalog Search'). |
my $bodytag=&Apache::loncommon::bodytag('Advanced Catalog Search'). |
&Apache::lonhtmlcommon::breadcrumbs(undef,'Searching', |
&Apache::lonhtmlcommon::breadcrumbs(undef,'Searching','Searching', |
'Searching', |
undef,undef, |
undef,undef, |
$ENV{'form.catalogmode'} ne 'groupsearch'); |
! $ENV{'form.launch'}); |
|
|
|
my %lt=&Apache::lonlocal::texthash('srch' => 'Search', |
my %lt=&Apache::lonlocal::texthash('srch' => 'Search', |
'reset' => 'Reset', |
'reset' => 'Reset', |
'help' => 'Help'); |
'help' => 'Help'); |
Line 1188 Parse advanced search form and return th
|
Line 1190 Parse advanced search form and return th
|
sub parse_advanced_search { |
sub parse_advanced_search { |
my ($r,$closebutton,$hidden_fields)=@_; |
my ($r,$closebutton,$hidden_fields)=@_; |
my @BasicFields = ('title','author','subject','keywords','url','version', |
my @BasicFields = ('title','author','subject','keywords','url','version', |
'notes','abstract','extension','owner', |
'notes','abstract','extension','owner','authorspace', |
# 'custommetadata','customshow', |
# 'custommetadata','customshow', |
'modifyinguser','standards','mime'); |
'modifyinguser','standards','mime'); |
my @StatsFields = &statfields(); |
my @StatsFields = &statfields(); |
Line 1400 sub parse_advanced_search {
|
Line 1402 sub parse_advanced_search {
|
$pretty_search_string .= $pretty_domains_string."<br />\n"; |
$pretty_search_string .= $pretty_domains_string."<br />\n"; |
# |
# |
if (@queries) { |
if (@queries) { |
$query="SELET * FROM metadata WHERE ".join(" AND ",@queries); |
$query="SELECT * FROM metadata WHERE ".join(" AND ",@queries); |
} elsif ($customquery) { |
} elsif ($customquery) { |
$query = ''; |
$query = ''; |
} |
} |
Line 1490 sub parse_basic_search {
|
Line 1492 sub parse_basic_search {
|
('title', 'author', 'subject', 'notes', 'abstract', |
('title', 'author', 'subject', 'notes', 'abstract', |
'keywords')); |
'keywords')); |
foreach my $search (&process_phrase_input($search_string)){ |
foreach my $search (&process_phrase_input($search_string)){ |
$pretty_search_string .= '<br />'.'<b>'.$search.'</b>'; |
|
if ($ENV{'form.related'}) { |
if ($ENV{'form.related'}) { |
|
$pretty_search_string .= ' and <br />' if ($pretty_search_string ne ''); |
|
$pretty_search_string .= '<b>'.$search.'</b>'; |
my @New_Words; |
my @New_Words; |
($search,@New_Words) = &related_version($search); |
($search,@New_Words) = &related_version($search); |
next if (! $search); |
next if (! $search); |
Line 1499 sub parse_basic_search {
|
Line 1502 sub parse_basic_search {
|
$pretty_search_string .= |
$pretty_search_string .= |
" with related words: <b>@New_Words</b>"; |
" with related words: <b>@New_Words</b>"; |
} |
} |
|
} else { |
|
$pretty_search_string .= ' and ' if ($pretty_search_string ne ''); |
|
$pretty_search_string .= '<b>'.$search.'</b>'; |
} |
} |
# |
# |
# Build SQL query string based on form page |
# Build SQL query string based on form page |
Line 1511 sub parse_basic_search {
|
Line 1517 sub parse_basic_search {
|
$pretty_search_string .= ' '.$pretty_domains_string; |
$pretty_search_string .= ' '.$pretty_domains_string; |
} |
} |
$pretty_search_string .= "<br />\n"; |
$pretty_search_string .= "<br />\n"; |
$pretty_search_string =~ s:^<br />::; |
$pretty_search_string =~ s:^<br /> and ::; |
# &Apache::lonnet::logthis($final_query); |
# &Apache::lonnet::logthis($final_query); |
return ($final_query,$pretty_search_string, |
return ($final_query,$pretty_search_string, |
$libraries_to_query); |
$libraries_to_query); |
Line 1596 sub build_SQL_query {
|
Line 1602 sub build_SQL_query {
|
-build => 'Text::Query::Build'); |
-build => 'Text::Query::Build'); |
$q->prepare($logic_statement); |
$q->prepare($logic_statement); |
my $matchexp=${$q}{'matchexp'}; chomp $matchexp; |
my $matchexp=${$q}{'matchexp'}; chomp $matchexp; |
&Apache::lonnet::logthis('matchexp = '.$matchexp); |
|
my $sql_query=&recursive_SQL_query_build($field_name,$matchexp); |
my $sql_query=&recursive_SQL_query_build($field_name,$matchexp); |
&Apache::lonnet::logthis('sql_query = '.$sql_query); |
|
return $sql_query; |
return $sql_query; |
} |
} |
|
|
Line 1871 sub print_sort_form {
|
Line 1875 sub print_sort_form {
|
my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef,1). |
my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef,1). |
&Apache::lonhtmlcommon::breadcrumbs |
&Apache::lonhtmlcommon::breadcrumbs |
(undef,'Searching','Searching',undef,undef, |
(undef,'Searching','Searching',undef,undef, |
! ($ENV{'form.catalogmode'} eq 'groupsearch')); |
$ENV{'form.catalogmode'} ne 'groupsearch'); |
|
|
## |
## |
my %SortableFields=&Apache::lonlocal::texthash( |
my %SortableFields=&Apache::lonlocal::texthash( |
Line 2138 results into MySQL.
|
Line 2142 results into MySQL.
|
sub run_search { |
sub run_search { |
my ($r,$query,$customquery,$customshow,$serverlist,$pretty_string) = @_; |
my ($r,$query,$customquery,$customshow,$serverlist,$pretty_string) = @_; |
my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef,1); |
my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef,1); |
$bodytag.= |
$bodytag.=&Apache::lonhtmlcommon::breadcrumbs |
&Apache::lonhtmlcommon::breadcrumbs(undef,'Searching','Searching', |
(undef,'Searching','Searching',undef,undef, |
undef,undef,! $ENV{'form.launch'}); |
$ENV{'form.catalogmode'} ne 'groupsearch'); |
|
|
my $connection = $r->connection; |
my $connection = $r->connection; |
# |
# |
# Print run_search header |
# Print run_search header |
Line 2933 sub detailed_citation_view {
|
Line 2936 sub detailed_citation_view {
|
{ name=>'copyrighttag', |
{ name=>'copyrighttag', |
translate => '<b>Copyright/Distribution:</b> [_1]',}, |
translate => '<b>Copyright/Distribution:</b> [_1]',}, |
{ name=>'count', |
{ name=>'count', |
|
format => "%d", |
translate => '<b>Access Count:</b> [_1]',}, |
translate => '<b>Access Count:</b> [_1]',}, |
{ name=>'stdno', |
{ name=>'stdno', |
|
format => "%d", |
translate => '<b>Number of Students:</b> [_1]',}, |
translate => '<b>Number of Students:</b> [_1]',}, |
{ name=>'avetries', |
{ name=>'avetries', |
|
format => "%.2f", |
translate => '<b>Average Tries:</b> [_1]',}, |
translate => '<b>Average Tries:</b> [_1]',}, |
{ name=>'disc', |
{ name=>'disc', |
|
format => "%.2f", |
translate => '<b>Degree of Discrimination:</b> [_1]',}, |
translate => '<b>Degree of Discrimination:</b> [_1]',}, |
{ name=>'difficulty', |
{ name=>'difficulty', |
|
format => "%.2f", |
translate => '<b>Degree of Difficulty:</b> [_1]',}, |
translate => '<b>Degree of Difficulty:</b> [_1]',}, |
{ name=>'clear', |
{ name=>'clear', |
|
format => "%.2f", |
translate => '<b>Clear:</b> [_1]',}, |
translate => '<b>Clear:</b> [_1]',}, |
{ name=>'depth', |
{ name=>'depth', |
|
format => "%.2f", |
translate => '<b>Depth:</b> [_1]',}, |
translate => '<b>Depth:</b> [_1]',}, |
{ name=>'helpful', |
{ name=>'helpful', |
|
format => "%.2f", |
translate => '<b>Helpful:</b> [_1]',}, |
translate => '<b>Helpful:</b> [_1]',}, |
{ name=>'correct', |
{ name=>'correct', |
|
format => "%.2f", |
translate => '<b>Correct:</b> [_1]',}, |
translate => '<b>Correct:</b> [_1]',}, |
{ name=>'technical', |
{ name=>'technical', |
|
format => "%.2f", |
translate => '<b>Technical:</b> [_1]',}, |
translate => '<b>Technical:</b> [_1]',}, |
|
{ name=>'comefrom_list', |
|
type => 'list', |
|
translate => 'Resources that lead up to this resource in maps',}, |
|
{ name=>'goto_list', |
|
type => 'list', |
|
translate => 'Resources that follow this resource in maps',}, |
|
{ name=>'sequsage_list', |
|
type => 'list', |
|
translate => 'Resources using or importing resource',}, |
) { |
) { |
if (exists($values{$field->{'name'}}) && |
next if (! exists($values{$field->{'name'}}) || |
$values{$field->{'name'}} ne '') { |
$values{$field->{'name'}} eq ''); |
|
if (exists($field->{'type'}) && $field->{'type'} eq 'list') { |
|
$result .= '<b>'.&mt($field->{'translate'}).'</b><ul>'; |
|
foreach my $item (split(',',$values{$field->{'name'}})){ |
|
$result .= '<li>'. |
|
'<a target="search_preview" '. |
|
'href="/res/'.$item.'">'.$item.'</a></li>'; |
|
} |
|
$result .= '</ul>'; |
|
} elsif (exists($field->{'format'}) && $field->{'format'} ne ''){ |
|
$result.= &mt($field->{'translate'}, |
|
sprintf($field->{'format'}, |
|
$values{$field->{'name'}})).'<br />'."\n"; |
|
} else { |
if ($field->{'special'} eq 'url link') { |
if ($field->{'special'} eq 'url link') { |
$result.= |
$result.= |
&mt($field->{'translate'}, |
&mt($field->{'translate'}, |
'<a href="'.$values{'url'}.'" '. |
'<a href="'.$values{'url'}.'" '. |
'target="search_preview">'. |
'target="search_preview">'. |
$values{$field->{'name'}}. |
$values{$field->{'name'}}. |
'</a>'); |
'</a>'); |
} else { |
} else { |
$result.= &mt($field->{'translate'}, |
$result.= &mt($field->{'translate'}, |
$values{$field->{'name'}}); |
$values{$field->{'name'}}); |
} |
} |
$result .= "<br />\n"; |
$result .= "<br />\n"; |
} |
} |
} |
} |
$result .= "</p>"; |
$result .= "</p>"; |
if (exists($values{'extrashow'}) && $values{'extrashow'} ne '') { |
if (exists($values{'extrashow'}) && $values{'extrashow'} ne '') { |