diff -r 000000000000 -r 7f95f8617b0b vendor/twig/lib/Twig/Function.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/twig/lib/Twig/Function.php Sat Sep 24 15:40:41 2011 +0200 @@ -0,0 +1,52 @@ + + */ +abstract class Twig_Function implements Twig_FunctionInterface +{ + protected $options; + + public function __construct(array $options = array()) + { + $this->options = array_merge(array( + 'needs_environment' => false, + 'needs_context' => false, + ), $options); + } + + public function needsEnvironment() + { + return $this->options['needs_environment']; + } + + public function needsContext() + { + return $this->options['needs_context']; + } + + public function getSafe(Twig_Node $functionArgs) + { + if (isset($this->options['is_safe'])) { + return $this->options['is_safe']; + } + + if (isset($this->options['is_safe_callback'])) { + return call_user_func($this->options['is_safe_callback'], $functionArgs); + } + + return array(); + } +}