Provided by: libace-perl_1.92-3_amd64
NAME
Ace::Browser::SearchSubs - Subroutines for AceBrowser search scripts
SYNOPSIS
use Ace; use Ace::Browser::AceSubs; use Ace::Browser::SearchSubs; use CGI qw(:standard); my $form = p(start_form, textfield(-name=>'query'), end_form); AceSearchTable('Search for stuff',$form); ... my $query = param('query'); my $offset = AceSearchOffset; my ($objects,$count) = do_search($query,$offset); AceResultsTable($objects,$count,$offset,'Here are results');
DESCRIPTION
Ace::Browser::SearchSubs exports a set of constants and subroutines that are useful for creating AceBrowser search scripts. CONSTANTS This package exports the following constants: MAXOBJECTS The maximum number of objects that can be displayed per page. SEARCH_ICON An icon to use for search links. This is deprecated. Use Configuration->Search_icon instead. FUNCTIONS These functions are exported: $offset = AceSearchOffset() When the user is paging back and forth among a multi-page list of results, this function returns the index of the first item to display. AceSearchTable([{hash}],$title,@contents) Given a title and the HTML contents, this formats the search into a table and gives it the background and foreground colors used elsewhere for searches. The formatted search is then printed. The HTML contents are usually a fill-out form. For convenience, you can provide the contents in multiple parts (lines or elements) and they will be concatenated together. If the first argument is a hashref, then its contents will be passed to start_form() to override the form arguments. AceResultsTable($objects,$count,$offset,$title) This subroutine formats the results of a search into a pageable list and prints out the resulting HTML. The following arguments are required: $objects An array reference containing the objects to place in the table. $count The total number of objects. $offset The offset into the array, as returned by AceSearchOffset() $title A title for the table. The array reference should contain no more than MAXOBJECTS objects. The AceDB query should be arranged in such a way that this is the case. A typical idiom is the following: my $offset = AceSearchOffset(); my $query = param('query'); my $count; my @objs = $db->fetch(-query=> $query, -count => MAXOBJECTS, -offset => $offset, -total => \$count ); AceResultsTable(\@objs,$count,$offset,'Here are the results');
BUGS
Please report them.
SEE ALSO
Ace::Object, Ace::Browser::SiteDefs, Ace::Browsr::AceSubs, the README.ACEBROWSER file.
AUTHOR
Lincoln Stein <lstein@cshl.org>. Copyright (c) 2001 Cold Spring Harbor Laboratory This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See DISCLAIMER.txt for disclaimers of warranty.