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

Annotation 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 - (hide 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 adcroft 1.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