version 1.331.4.16, 2020/08/26 01:29:48
|
version 1.331.4.16.2.2, 2023/12/30 03:56:48
|
Line 176 sub handler {
|
Line 176 sub handler {
|
} |
} |
my $crumb_text = 'Portfolio Search'; |
my $crumb_text = 'Portfolio Search'; |
if (@allowed_searches ==2) { |
if (@allowed_searches ==2) { |
$crumb_text = 'Portfolio and Catalog Search'; |
$crumb_text = 'Portfolio and Content Library Search'; |
|
} |
|
my $target = '_top'; |
|
if ((($env{'request.lti.login'}) && ($env{'request.lti.target'} eq 'iframe')) || |
|
(($env{'request.deeplink.login'}) && ($env{'request.deeplink.target'} eq '_self'))) { |
|
if ($env{'form.phase'} =~ /^(sort|run_search)$/) { |
|
$target = '_parent'; |
|
} else { |
|
$target = '_self'; |
|
} |
} |
} |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>'/adm/searchcat?'. |
({href=>'/adm/searchcat?'. |
Line 185 sub handler {
|
Line 194 sub handler {
|
'&launch='.$env{'form.launch'}. |
'&launch='.$env{'form.launch'}. |
'&mode='.$env{'form.mode'}, |
'&mode='.$env{'form.mode'}, |
text=>"$crumb_text", |
text=>"$crumb_text", |
target=>'_top', |
target=>$target, |
bug=>'Searching',}); |
bug=>'Searching',}); |
# |
# |
if ($env{'form.phase'} !~ m/(basic|adv|course)_search/) { |
if ($env{'form.phase'} !~ m/(basic|adv|course)_search/) { |
Line 299 END
|
Line 308 END
|
} |
} |
# |
# |
if ($env{'form.searchmode'} eq 'advanced') { |
if ($env{'form.searchmode'} eq 'advanced') { |
my $srchtype = 'Catalog'; |
my $srchtype = 'Content Library'; |
if ($env{'form.area'} eq 'portfolio') { |
if ($env{'form.area'} eq 'portfolio') { |
$srchtype = 'Portfolio'; |
$srchtype = 'Portfolio'; |
} |
} |
Line 328 END
|
Line 337 END
|
['query','customquery','customshow', |
['query','customquery','customshow', |
'libraries','pretty_string','domains']); |
'libraries','pretty_string','domains']); |
if ($env{'form.phase'} eq 'sort') { |
if ($env{'form.phase'} eq 'sort') { |
&print_sort_form($r,$pretty_string); |
&print_sort_form($r,$pretty_string,$target); |
} elsif ($env{'form.phase'} eq 'run_search') { |
} elsif ($env{'form.phase'} eq 'run_search') { |
&run_search($r,$query,$customquery,$customshow, |
&run_search($r,$query,$customquery,$customshow, |
$libraries,$pretty_string,$env{'form.area'},$domainsref); |
$libraries,$pretty_string,$env{'form.area'},$domainsref,$target); |
} |
} |
} elsif(($env{'form.phase'} eq 'basic_search') || |
} elsif(($env{'form.phase'} eq 'basic_search') || |
($env{'form.phase'} eq 'adv_search')) { |
($env{'form.phase'} eq 'adv_search')) { |
Line 465 sub setup_basic_search {
|
Line 474 sub setup_basic_search {
|
my ($r,$area,$hidden_fields,$closebutton) = @_; |
my ($r,$area,$hidden_fields,$closebutton) = @_; |
# Define interface components |
# Define interface components |
my %lt = &Apache::lonlocal::texthash ( |
my %lt = &Apache::lonlocal::texthash ( |
res => 'LON-CAPA Catalog Search', |
res => 'Content Library Search', |
portfolio => 'Portfolio Search', |
portfolio => 'Portfolio Search', |
); |
); |
my ($userelatedwords,$onlysearchdomain,$inclext,$adv_search_link,$scrout); |
my ($userelatedwords,$onlysearchdomain,$inclext,$adv_search_link,$scrout); |
Line 590 sub print_advanced_search_form{
|
Line 599 sub print_advanced_search_form{
|
$closebutton |
$closebutton |
</p> |
</p> |
END |
END |
my $srchtype = 'Catalog'; |
my $srchtype = 'Content Library'; |
my $jscript; |
my $jscript; |
if ($env{'form.area'} eq 'portfolio') { |
if ($env{'form.area'} eq 'portfolio') { |
$srchtype = 'Portfolio'; |
$srchtype = 'Portfolio'; |
Line 2052 a link to change the search query.
|
Line 2061 a link to change the search query.
|
###################################################################### |
###################################################################### |
###################################################################### |
###################################################################### |
sub print_sort_form { |
sub print_sort_form { |
my ($r,$pretty_query_string) = @_; |
my ($r,$pretty_query_string,$target) = @_; |
|
|
## |
## |
my %SortableFields=&Apache::lonlocal::texthash( |
my %SortableFields=&Apache::lonlocal::texthash( |
Line 2099 sub print_sort_form {
|
Line 2108 sub print_sort_form {
|
</script> |
</script> |
END |
END |
|
|
my $start_page = &Apache::loncommon::start_page('Results'); |
my $args; |
|
if ($target eq '_parent') { |
|
$args = {'links_target' => $target}; |
|
} |
|
my $start_page = &Apache::loncommon::start_page('Results',undef,$args); |
my $breadcrumbs= |
my $breadcrumbs= |
&Apache::lonhtmlcommon::breadcrumbs('Searching','Searching', |
&Apache::lonhtmlcommon::breadcrumbs('Searching','Searching', |
$env{'form.catalogmode'} ne 'import'); |
$env{'form.catalogmode'} ne 'import', |
|
'','','','','','',$target); |
|
|
my $result = <<END; |
my $result = <<END; |
$start_page |
$start_page |
$breadcrumbs |
$breadcrumbs |
<form name="statusform" action="" method="post" target="_top"> |
<form name="statusform" action="" method="post" target="$target"> |
<input type="hidden" name="catalogmode" value="import" /> |
<input type="hidden" name="catalogmode" value="import" /> |
<input type="hidden" name="acts" value="" /> |
<input type="hidden" name="acts" value="" /> |
END |
END |
Line 2358 results into MySQL.
|
Line 2372 results into MySQL.
|
###################################################################### |
###################################################################### |
sub run_search { |
sub run_search { |
my ($r,$query,$customquery,$customshow,$serverlist, |
my ($r,$query,$customquery,$customshow,$serverlist, |
$pretty_string,$area,$domainsref) = @_; |
$pretty_string,$area,$domainsref,$target) = @_; |
my $tabletype = 'metadata'; |
my $tabletype = 'metadata'; |
if ($area eq 'portfolio') { |
if ($area eq 'portfolio') { |
$tabletype = 'portfolio_search'; |
$tabletype = 'portfolio_search'; |
Line 2367 sub run_search {
|
Line 2381 sub run_search {
|
# |
# |
# Print run_search header |
# Print run_search header |
# |
# |
my $start_page = &Apache::loncommon::start_page('Search Status',undef); |
my $args; |
|
if ($target eq '_parent') { |
|
$args = {'links_target' => $target}; |
|
} |
|
my $start_page = &Apache::loncommon::start_page('Search Status',undef,$args); |
my $breadcrumbs = |
my $breadcrumbs = |
&Apache::lonhtmlcommon::breadcrumbs('Searching','Searching', |
&Apache::lonhtmlcommon::breadcrumbs('Searching','Searching', |
$env{'form.catalogmode'} ne 'import'); |
$env{'form.catalogmode'} ne 'import', |
|
'','','','','','',$target); |
$r->print(<<END); |
$r->print(<<END); |
$start_page |
$start_page |
$breadcrumbs |
$breadcrumbs |
Line 2559 END
|
Line 2578 END
|
|
|
if ($area eq 'portfolio') { |
if ($area eq 'portfolio') { |
next if (defined($matches{$Fields{'url'}})); |
next if (defined($matches{$Fields{'url'}})); |
# Skip if inaccessible |
# Skip unless access control set to public or passphrase-protected |
next if (!&Apache::lonnet::portfolio_access($Fields{'url'})); |
next unless (($Fields{'scope'} eq 'public') || ($Fields{'scope'} eq 'guest')); |
$matches{$Fields{'url'}} = 1; |
$matches{$Fields{'url'}} = 1; |
} |
} |
# |
# |