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;

