1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-05 08:17:47 +02:00

[ticket/11388] includejs inherit from includeasset

Copied from the INCLUDECSS PR, since this needed to be modified.

Added checks for argument strings/anchors/http/https paths in asset files
to load files properly

PHPBB3-11388
This commit is contained in:
Nathaniel Guse
2013-07-10 13:19:34 -05:00
parent f88cdce43a
commit ab5a79a823
2 changed files with 73 additions and 31 deletions

View File

@@ -7,25 +7,11 @@
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
class phpbb_template_twig_node_includejs extends phpbb_template_twig_node_includeasset
{
exit;
}
class phpbb_template_twig_node_includejs extends Twig_Node
{
/** @var Twig_Environment */
protected $environment;
public function __construct(Twig_Node_Expression $expr, phpbb_template_twig_environment $environment, $lineno, $tag = null)
public function get_definition_name()
{
$this->environment = $environment;
parent::__construct(array('expr' => $expr), array(), $lineno, $tag);
return 'SCRIPTS';
}
/**
@@ -33,24 +19,14 @@ class phpbb_template_twig_node_includejs extends Twig_Node
*
* @param Twig_Compiler A Twig_Compiler instance
*/
public function compile(Twig_Compiler $compiler)
protected function append_asset(Twig_Compiler $compiler)
{
$compiler->addDebugInfo($this);
$config = $this->environment->get_phpbb_config();
$compiler
->write("\$js_file = ")
->subcompile($this->getNode('expr'))
->raw(";\n")
->write("if (!file_exists(\$js_file)) {\n")
->indent()
->write("\$js_file = \$this->getEnvironment()->getLoader()->getCacheKey(\$js_file);\n")
->outdent()
->write("}\n")
->write("\$context['definition']->append('SCRIPTS', '<script type=\"text/javascript\" src=\"' . ")
->raw("\$js_file")
->raw(" . '?assets_version=" . $config['assets_version'] . "\"></script>\n');\n")
->raw("<script type=\"text/javascript\" src=\"' . ")
->raw("\$asset_file")
->raw(". '\"></script>\n")
;
}
}