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;