vendor/bundles/Symfony/Bundle/AsseticBundle/Twig/AsseticExtension.php
author cavaliet
Tue, 15 Nov 2011 12:27:02 +0100
changeset 31 f457dd0e7a1e
parent 0 7f95f8617b0b
permissions -rwxr-xr-x
First step to add context search to a page. Works fine but needs to be improved with several list of selectors.

<?php

/*
 * This file is part of the Symfony framework.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * This source file is subject to the MIT license that is bundled
 * with this source code in the file LICENSE.
 */

namespace Symfony\Bundle\AsseticBundle\Twig;

use Assetic\Extension\Twig\AsseticExtension as BaseAsseticExtension;
use Assetic\Factory\AssetFactory;

/**
 * Assetic extension.
 *
 * @author Kris Wallsmith <kris@symfony.com>
 */
class AsseticExtension extends BaseAsseticExtension
{
    private $useController;

    public function __construct(AssetFactory $factory, $useController = false, $functions = array())
    {
        parent::__construct($factory, $functions);

        $this->useController = $useController;
    }

    public function getTokenParsers()
    {
        return array(
            new AsseticTokenParser($this->factory, 'javascripts', 'js/*.js', false, array('package')),
            new AsseticTokenParser($this->factory, 'stylesheets', 'css/*.css', false, array('package')),
            new AsseticTokenParser($this->factory, 'image', 'images/*', true, array('package')),
        );
    }

    public function getNodeVisitors()
    {
        return array(new AsseticNodeVisitor());
    }

    public function getGlobals()
    {
        $globals = parent::getGlobals();
        $globals['assetic']['use_controller'] = $this->useController;

        return $globals;
    }
}