summaryrefslogtreecommitdiff
path: root/inc/contrib/Twig/Filter.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/contrib/Twig/Filter.php')
-rw-r--r--inc/contrib/Twig/Filter.php58
1 files changed, 58 insertions, 0 deletions
diff --git a/inc/contrib/Twig/Filter.php b/inc/contrib/Twig/Filter.php
new file mode 100644
index 00000000..9595a1a8
--- /dev/null
+++ b/inc/contrib/Twig/Filter.php
@@ -0,0 +1,58 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2009 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Represents a template filter.
+ *
+ * @package twig
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+abstract class Twig_Filter implements Twig_FilterInterface
+{
+ protected $options;
+
+ public function __construct(array $options = array())
+ {
+ $this->options = array_merge(array(
+ 'needs_environment' => false,
+ 'needs_context' => false,
+ 'pre_escape' => null,
+ ), $options);
+ }
+
+ public function needsEnvironment()
+ {
+ return $this->options['needs_environment'];
+ }
+
+ public function needsContext()
+ {
+ return $this->options['needs_context'];
+ }
+
+ public function getSafe(Twig_Node $filterArgs)
+ {
+ 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'], $filterArgs);
+ }
+
+ return array();
+ }
+
+ public function getPreEscape()
+ {
+ return $this->options['pre_escape'];
+ }
+}