1 ######################################################################
3 # Search the image database and display the results.
5 ######################################################################
9 use CXGN
::Searches
::Images
;
11 use CXGN
::Page
::FormattingHelpers qw
/blue_section_html
16 use CXGN
::Search
::CannedForms
;
17 #################################################
19 # Start a new SGN page.
20 my $page=CXGN
::Page
->new("SGN image search results","Jessica");
23 print page_title_html
('Image search results');
25 #create the search and query objects
26 my $search = CXGN
::Searches
::Images
->new;
27 my $query = $search->new_query;
28 $search->page_size(30); #set 30 images per page
31 my %params = $page->get_all_encoded_arguments;
33 $query->from_request(\
%params);
36 my $result = $search->do_search($query);
39 while(my $r = $result->next_result) {
40 my $image_id = $r->[0];
42 my $image_description = $r->[2];
43 if( length($image_description) < 1 ) {
44 $image_description = "---";
47 my $image_filename = $r->[3];
48 my $submitter_id = $r->[4];
50 my $submitter_first = $r->[5];
51 if( length($submitter_first) < 1 ) {
52 $submitter_first = "---";
55 my $submitter_last = $r->[6];
56 if( length($submitter_last) < 1 ) {
57 $submitter_last = "---";
60 # Put all submitter data in one variable
61 my $submitter_string = "";
63 unless ( $submitter_first eq "---" ) {
64 $submitter_string .= $submitter_first;
65 $submitter_string .= " ";
68 unless ( $submitter_last eq "---" ) {
69 $submitter_string .= $submitter_last;
72 # Image id, image filename, and submitter id can't be null, but everything else can be.
74 push @results, [$image_description, '<a href="/image/index.pl?image_id='.$r->[0].'">'.$image_filename.'</a>', '<a href="/solpeople/personal-info.pl?sp_person_id='.$r->[4].'">'.$submitter_string.'</a>'];
77 #build the HTML to output
78 my $pagination_html = $search->pagination_buttons_html( $query, $result );
81 my $results_html = <<EOH;
82 <div id="searchresults">
85 $results_html .= columnar_table_html
(headings
=> ['Image Description',
87 'Submitter (ID) Name'],
91 $results_html .= <<EOH;
98 print blue_section_html
('Image search results', ,sprintf('<span class="paginate_summary">%s matches </span>', $result->total_results,$result->time),$results_html);
100 print '<h4>No matches found</h4>';
103 print info_section_html
(title
=> 'Search again',
104 contents
=>CXGN
::Search
::CannedForms
::image_search_form
($page,$query)