aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc/3rdparty/Twig/Extension/StringLoader.php
diff options
context:
space:
mode:
authorNicolas LÅ“uillet <nicolas.loeuillet@gmail.com>2013-08-02 22:43:56 +0200
committerNicolas LÅ“uillet <nicolas.loeuillet@gmail.com>2013-08-02 22:43:56 +0200
commit8069e235fd2971675ee5fc05026ffa9bce5cbbb7 (patch)
tree872eaed228b5e1b031c21770fba1701106a52a39 /inc/3rdparty/Twig/Extension/StringLoader.php
parent45161a64026cec35fcf07659508143a6f55ddf57 (diff)
downloadwallabag-8069e235fd2971675ee5fc05026ffa9bce5cbbb7.tar.gz
wallabag-8069e235fd2971675ee5fc05026ffa9bce5cbbb7.tar.zst
wallabag-8069e235fd2971675ee5fc05026ffa9bce5cbbb7.zip
move Twig in 3rdparty
Diffstat (limited to 'inc/3rdparty/Twig/Extension/StringLoader.php')
-rw-r--r--inc/3rdparty/Twig/Extension/StringLoader.php64
1 files changed, 64 insertions, 0 deletions
diff --git a/inc/3rdparty/Twig/Extension/StringLoader.php b/inc/3rdparty/Twig/Extension/StringLoader.php
new file mode 100644
index 00000000..20f3f994
--- /dev/null
+++ b/inc/3rdparty/Twig/Extension/StringLoader.php
@@ -0,0 +1,64 @@
1<?php
2
3/*
4 * This file is part of Twig.
5 *
6 * (c) 2012 Fabien Potencier
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11class Twig_Extension_StringLoader extends Twig_Extension
12{
13 /**
14 * {@inheritdoc}
15 */
16 public function getFunctions()
17 {
18 return array(
19 new Twig_SimpleFunction('template_from_string', 'twig_template_from_string', array('needs_environment' => true)),
20 );
21 }
22
23 /**
24 * {@inheritdoc}
25 */
26 public function getName()
27 {
28 return 'string_loader';
29 }
30}
31
32/**
33 * Loads a template from a string.
34 *
35 * <pre>
36 * {{ include(template_from_string("Hello {{ name }}")) }}
37 * </pre>
38 *
39 * @param Twig_Environment $env A Twig_Environment instance
40 * @param string $template A template as a string
41 *
42 * @return Twig_Template A Twig_Template instance
43 */
44function twig_template_from_string(Twig_Environment $env, $template)
45{
46 static $loader;
47
48 if (null === $loader) {
49 $loader = new Twig_Loader_String();
50 }
51
52 $current = $env->getLoader();
53 $env->setLoader($loader);
54 try {
55 $template = $env->loadTemplate($template);
56 } catch (Exception $e) {
57 $env->setLoader($current);
58
59 throw $e;
60 }
61 $env->setLoader($current);
62
63 return $template;
64}