/[MITgcm]/mitgcm.org/devel/buildweb/pkg/swish-e/example/modules/TemplateHTMLTemplate.pm
ViewVC logotype

Contents of /mitgcm.org/devel/buildweb/pkg/swish-e/example/modules/TemplateHTMLTemplate.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1.1.1 - (show annotations) (download) (vendor branch)
Fri Sep 20 19:47:30 2002 UTC (22 years, 10 months ago) by adcroft
Branch: Import, MAIN
CVS Tags: baseline, HEAD
Changes since 1.1: +0 -0 lines
Importing web-site building process.

1 #=======================================================================
2 # Module for using Template-Toolkit for generating output
3 # $Id: TemplateHTMLTemplate.pm,v 1.1 2001/12/08 21:49:14 whmoseley Exp $
4 #
5 # This module probably does not automatically support all the features
6 # of the swish.cgi script (such as selecting index files). See
7 # the TemplateToolkit.pm module for examples.
8 #
9 #=======================================================================
10 package TemplateHTMLTemplate;
11 use strict;
12
13 use HTML::Template;
14 use HTML::FillInForm;
15 use CGI ();
16
17 use vars '$Template';
18
19 use TemplateDefault; # ugly hack
20
21
22 sub show_template {
23 my ( $class, $template_params, $results ) = @_;
24
25 my $cgi = $results->CGI;
26
27
28 my $template = HTML::Template->new( %{$template_params->{options}} );
29
30 my $params = {
31 TITLE => ($results->config('title') || 'Search Page'),
32 QUERY_SIMPLE => CGI::escapeHTML( $results->{query_simple} ),
33 MESSAGE => CGI::escapeHTML( $results->errstr ),
34 QUERY_HREF => $results->{query_href},
35 MY_URL => $cgi->script_name,
36
37 HITS => $results->navigation('hits'),
38 FROM => $results->navigation('from'),
39 TO => $results->navigation('to'),
40 SHOWING => $results->navigation('showing'),
41
42 PAGES => $results->navigation('pages'),
43 NEXT => $results->navigation('next'),
44 NEXT_COUNT => $results->navigation('next_count'),
45 PREV => $results->navigation('prev'),
46 PREV_COUNT => $results->navigation('prev_count'),
47
48
49 RUN_TIME => $results->header('run time') || 'unknown',
50 SEARCH_TIME => $results->header('search time') || 'unknown',
51 MOD_PERL => $ENV{MOD_PERL},
52 };
53
54 $params->{FILES} = $results->results if $results->results;
55
56
57
58 my $MapNames = $results->config('name_labels') || {};
59 my $Sorts = $results->config('sorts');
60 my $MetaNames = $results->config('metanames');
61
62
63 # set a default
64 if ( $MetaNames && !$cgi->param('metanames') ) {
65 $cgi->param('metaname', $MetaNames->[0] );
66 }
67
68 $params->{SORTS} = [ map { { NAME => $_, LABEL => ($MapNames->{$_} || $_) } } @$Sorts ] if $Sorts;
69 $params->{METANAMES} = [ map { { NAME => $_, LABEL => ($MapNames->{$_} || $_) } } @$MetaNames ] if $MetaNames;
70
71
72 $template->param( $params );
73 my $page = $template->output;
74
75
76 my $fif = new HTML::FillInForm;
77
78 print $cgi->header,
79 '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">',
80 $fif->fill(
81 scalarref => \$page,
82 fobject => $cgi,
83 );
84 }
85
86 1;
87

  ViewVC Help
Powered by ViewVC 1.1.22