1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- /*
- * This file is part of the symfony package.
- * (c) 2004-2006 Fabien Potencier <fabien.potencier@symfony-project.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- /**
- * sfCommonFilter automatically adds javascripts and stylesheets information in the sfResponse content.
- *
- * @package symfony
- * @subpackage filter
- * @author Fabien Potencier <fabien.potencier@symfony-project.com>
- * @version SVN: $Id: sfCommonFilter.class.php 11783 2008-09-25 16:21:27Z fabien $
- */
- class sfCommonFilter extends sfFilter
- {
- /**
- * Executes this filter.
- *
- * @param sfFilterChain $filterChain A sfFilterChain instance
- */
- public function execute($filterChain)
- {
- // execute next filter
- $filterChain->execute();
- // execute this filter only once
- $response = $this->context->getResponse();
- // include javascripts and stylesheets
- $content = $response->getContent();
- if (false !== ($pos = strpos($content, '</head>')))
- {
- $this->context->getConfiguration()->loadHelpers(array('Tag', 'Asset'));
- $html = '';
- if (!sfConfig::get('symfony.asset.javascripts_included', false))
- {
- $html .= get_javascripts($response);
- }
- if (!sfConfig::get('symfony.asset.stylesheets_included', false))
- {
- $html .= get_stylesheets($response);
- }
- if ($html)
- {
- $response->setContent(substr($content, 0, $pos).$html.substr($content, $pos));
- }
- }
- sfConfig::set('symfony.asset.javascripts_included', false);
- sfConfig::set('symfony.asset.stylesheets_included', false);
- }
- }
|