From a6d119833c9b9ce45825bf465f0b5fb1ce3f0949 Mon Sep 17 00:00:00 2001 From: nekobit Date: Sat, 6 Aug 2022 04:47:57 +0000 Subject: [PATCH] Search boilerplate FossilOrigin-Name: f7c7717cc3d549d6a2126efef96e702a6027c7841531b7eb276c8ebbd4106d0d --- perl/search.pm | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 perl/search.pm diff --git a/perl/search.pm b/perl/search.pm new file mode 100644 index 0000000..8da1d91 --- /dev/null +++ b/perl/search.pm @@ -0,0 +1,56 @@ +package search; +use strict; +use warnings; +use Exporter 'import'; + +our @EXPORTS = qw( content_search ); + +use template_helpers 'to_template'; + +use constant +{ + SEARCH_CAT_STATUSES => 0, + SEARCH_CAT_ACCOUNTS => 1, + SEARCH_CAT_TAGS => 2 +}; + +sub search_page +{ + my ($ssn, $data, $tab, $content) = @_; + + my %vars = ( + prefix => '', + ssn => $ssn, + tab => $tab, + content => $content, + ); + + to_template(\%vars, \$data->{'search.tt'}); +} + +sub search_statuses +{ + my ($ssn, $data, $statuses) = @_; + + my %vars = ( + prefix => '', + ssn => $ssn, + statuses => $statuses, + ); + + search_page($ssn, $data, SEARCH_CAT_STATUSES, to_template(\%vars, \$data->{'search_statuses.tt'})); +} + +sub content_search +{ + my ($ssn, $data, $search) = @_; + + my %vars = ( + prefix => '', + ssn => $ssn, + search => $search, + ); + + to_template(\%vars, \$data->{'content_search.tt'}); +} +