# Building blocks of CGI's using the UCW::Temple template engine
# (c) 2010 Martin Mares <mj@ucw.cz>

package UCW::Temple::CGI;

use strict;
use warnings;

use UCW::Temple;
use UCW::CGI;

require Exporter;
our $VERSION = 1.0;
our @ISA = qw(Exporter);
our @EXPORT = qw(out template html_template shipout);
our @EXPORT_OK = qw();

our @out_buffer = ();
$T::out_func = sub {
	push @out_buffer, @_;
};

sub template($;$) {
	my ($string, $args) = @_;
	UCW::Temple::process_string($string, $args);
}

sub html_template($$) {
	my ($string, $args) = @_;
	my %hargs = map { $_ => html_escape($args->{$_}) } keys %$args;
	UCW::Temple::process_string($string, \%hargs);
}

sub shipout() {
	print @out_buffer;
	@out_buffer = ();
}

42;
