mirror of
https://github.com/Mibew/handlebars.php.git
synced 2025-05-05 11:23:07 +03:00
73 lines
2.1 KiB
PHP
73 lines
2.1 KiB
PHP
<?php
|
|
/**
|
|
* This file is part of Handlebars-php
|
|
*
|
|
* PHP version 5.3
|
|
*
|
|
* @category Xamin
|
|
* @package Handlebars
|
|
* @author fzerorubigd <fzerorubigd@gmail.com>
|
|
* @author Behrooz Shabani <everplays@gmail.com>
|
|
* @author Dmitriy Simushev <simushevds@gmail.com>
|
|
* @author Jeff Turcotte <jeff.turcotte@gmail.com>
|
|
* @copyright 2014 Authors
|
|
* @license MIT <http://opensource.org/licenses/MIT>
|
|
* @version GIT: $Id$
|
|
* @link http://xamin.ir
|
|
*/
|
|
|
|
namespace Handlebars\Helper;
|
|
|
|
use Handlebars\Context;
|
|
use Handlebars\Helper;
|
|
use Handlebars\Template;
|
|
|
|
/**
|
|
* Handlebars halper interface
|
|
*
|
|
* @category Xamin
|
|
* @package Handlebars
|
|
* @author fzerorubigd <fzerorubigd@gmail.com>
|
|
* @author Behrooz Shabani <everplays@gmail.com>
|
|
* @author Dmitriy Simushev <simushevds@gmail.com>
|
|
* @author Jeff Turcotte <jeff.turcotte@gmail.com>
|
|
* @copyright 2014 Authors
|
|
* @license MIT <http://opensource.org/licenses/MIT>
|
|
* @version Release: @package_version@
|
|
* @link http://xamin.ir
|
|
*/
|
|
class IfHelper implements Helper
|
|
{
|
|
/**
|
|
* Execute the helper
|
|
*
|
|
* @param \Handlebars\Template $template The template instance
|
|
* @param \Handlebars\Context $context The current context
|
|
* @param \Handlebars\Arguments $args The arguments passed the the helper
|
|
* @param string $source The source
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function execute(Template $template, Context $context, $args, $source)
|
|
{
|
|
$parsedArgs = $template->parseArguments($args);
|
|
$tmp = $context->get($parsedArgs[0]);
|
|
|
|
$context->push($context->last());
|
|
if ($tmp) {
|
|
$template->setStopToken('else');
|
|
$buffer = $template->render($context);
|
|
$template->setStopToken(false);
|
|
$template->discard($context);
|
|
} else {
|
|
$template->setStopToken('else');
|
|
$template->discard($context);
|
|
$template->setStopToken(false);
|
|
$buffer = $template->render($context);
|
|
}
|
|
$context->pop();
|
|
|
|
return $buffer;
|
|
}
|
|
}
|