2009-03-22 16:09:05 +00:00
< ? php
/**
* Smarty Internal Plugin Compile If
*
* Compiles the { if } tag
*
* @ package Smarty
* @ subpackage Compiler
* @ author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile If Class
*/
class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase {
/**
* Compiles code for the { if } tag
*
* @ param array $args array with attributes from parser
* @ param object $compiler compiler object
* @ return string compiled code
*/
public function compile ( $args , $compiler )
{
$this -> compiler = $compiler ;
$this -> required_attributes = array ( 'if condition' );
// check and get attributes
$_attr = $this -> _get_attributes ( $args );
2009-10-21 18:26:14 +00:00
$this -> _open_tag ( 'if' , array ( 1 , $compiler -> tag_nocache ));
2009-04-28 15:37:13 +00:00
if ( is_array ( $args [ 'if condition' ])) {
2009-10-21 09:49:43 +00:00
$_output = " <?php if (!isset( \$ _smarty_tpl->tpl_vars[ " . $args [ 'if condition' ][ 'var' ] . " ])) \$ _smarty_tpl->tpl_vars[ " . $args [ 'if condition' ][ 'var' ] . " ] = new Smarty_Variable; " ;
$_output .= " if ( \$ _smarty_tpl->tpl_vars[ " . $args [ 'if condition' ][ 'var' ] . " ]->value = " . $args [ 'if condition' ][ 'value' ] . " ) { ?> " ;
2009-04-28 15:37:13 +00:00
return $_output ;
} else {
2009-10-21 09:49:43 +00:00
return '<?php if (' . $args [ 'if condition' ] . '){?>' ;
2009-04-28 15:37:13 +00:00
}
2009-03-22 16:09:05 +00:00
}
}
?>