package WebGUI::Asset::Template::HTMLTemplatePHP;
use strict;
our @ISA = qw(WebGUI::Asset::Template::HTMLTemplate);
use HTML::Template;
use PHP::Interpreter;
use WebGUI::User;
use WebGUI::Session;
use WebGUI::Utility;
use IO::File;
my $storedSession;
#-------------------------------------------------------------------
=head2 getName ( )
Returns the human readable name of this parser.
=cut
sub getName {
my $self = shift;
return "HTML::Template (PHP Support)";
}
#-------------------------------------------------------------------
=head2 process ( template, vars )
Evaluate a template replacing template commands for HTML.
=head3 template
A scalar variable containing the template.
=head3 vars
A hash reference containing template variables and loops.
=cut
sub process {
my $self = shift;
my $template = shift;
my $var = shift;
# store session
setSession($self->session);
$template = '
$perl = Perl::getInstance();
$session = $perl->getSession();
?>'.$template;
my $newTemp;
my $php = PHP::Interpreter->new({'OUTPUT'=>\$newTemp});
$php->eval($template);
$template = $newTemp;
return $self->SUPER::process($template,$var);
}
sub setSession { $storedSession = shift; return 0;}
sub getSession { return $storedSession; }
1;