| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- <?php
 - 
 - /*
 -  * This file is part of Twig.
 -  *
 -  * (c) 2010 Fabien Potencier
 -  *
 -  * For the full copyright and license information, please view the LICENSE
 -  * file that was distributed with this source code.
 -  */
 - 
 - /**
 -  * Represents a template function.
 -  *
 -  * @package    twig
 -  * @author     Fabien Potencier <fabien@symfony.com>
 -  */
 - abstract class Twig_Function implements Twig_FunctionInterface
 - {
 -     protected $options;
 -     protected $arguments = array();
 - 
 -     public function __construct(array $options = array())
 -     {
 -         $this->options = array_merge(array(
 -             'needs_environment' => false,
 -             'needs_context'     => false,
 -         ), $options);
 -     }
 - 
 -     public function setArguments($arguments)
 -     {
 -         $this->arguments = $arguments;
 -     }
 - 
 -     public function getArguments()
 -     {
 -         return $this->arguments;
 -     }
 - 
 -     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();
 -     }
 - }
 
 
  |