diff options
author | David King <imkingdavid@gmail.com> | 2013-09-12 20:49:27 -0700 |
---|---|---|
committer | David King <imkingdavid@gmail.com> | 2013-09-12 20:49:27 -0700 |
commit | 484d45736304921e7225b8726de5c048b430b5bf (patch) | |
tree | c3dd99d6696c1eeea80e2c4a0de3d2b61609dc08 /phpBB/phpbb/template | |
parent | a7ea874c0d9956e46a6e7a1595a7cfa7f5b931c7 (diff) | |
parent | 423357581415c7c10ed0ac51284014e839881bac (diff) | |
download | forums-484d45736304921e7225b8726de5c048b430b5bf.tar forums-484d45736304921e7225b8726de5c048b430b5bf.tar.gz forums-484d45736304921e7225b8726de5c048b430b5bf.tar.bz2 forums-484d45736304921e7225b8726de5c048b430b5bf.tar.xz forums-484d45736304921e7225b8726de5c048b430b5bf.zip |
Merge pull request #1690 from EXreaction/ticket/11822
[ticket/11822] Use namespace lookup order for asset loading
Diffstat (limited to 'phpBB/phpbb/template')
-rw-r--r-- | phpBB/phpbb/template/twig/environment.php | 35 | ||||
-rw-r--r-- | phpBB/phpbb/template/twig/node/includeasset.php | 4 |
2 files changed, 37 insertions, 2 deletions
diff --git a/phpBB/phpbb/template/twig/environment.php b/phpBB/phpbb/template/twig/environment.php index b60cd72325..9a40dc2b15 100644 --- a/phpBB/phpbb/template/twig/environment.php +++ b/phpBB/phpbb/template/twig/environment.php @@ -137,4 +137,39 @@ class phpbb_template_twig_environment extends Twig_Environment return parent::loadTemplate($name, $index); } } + + /** + * Finds a template by name. + * + * @param string $name The template name + * @return string + */ + public function findTemplate($name) + { + if (strpos($name, '@') === false) + { + foreach ($this->getNamespaceLookUpOrder() as $namespace) + { + try + { + if ($namespace === '__main__') + { + return parent::getLoader()->getCacheKey($name); + } + + return parent::getLoader()->getCacheKey('@' . $namespace . '/' . $name); + } + catch (Twig_Error_Loader $e) + { + } + } + + // We were unable to load any templates + throw $e; + } + else + { + return parent::getLoader()->getCacheKey($name); + } + } } diff --git a/phpBB/phpbb/template/twig/node/includeasset.php b/phpBB/phpbb/template/twig/node/includeasset.php index 1cab416c79..0808e2b10e 100644 --- a/phpBB/phpbb/template/twig/node/includeasset.php +++ b/phpBB/phpbb/template/twig/node/includeasset.php @@ -40,10 +40,10 @@ abstract class phpbb_template_twig_node_includeasset extends Twig_Node ->write("\$local_file = \$this->getEnvironment()->get_phpbb_root_path() . \$asset_path;\n") ->write("if (!file_exists(\$local_file)) {\n") ->indent() - ->write("\$local_file = \$this->getEnvironment()->getLoader()->getCacheKey(\$asset_path);\n") + ->write("\$local_file = \$this->getEnvironment()->findTemplate(\$asset_path);\n") ->write("\$asset->set_path(\$local_file, true);\n") ->outdent() - ->write("\$asset->add_assets_version({$config['assets_version']});\n") + ->write("\$asset->add_assets_version('{$config['assets_version']}');\n") ->write("\$asset_file = \$asset->get_url();\n") ->write("}\n") ->outdent() |