12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?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 9087 2008-05-20 02:00:40Z Carl.Vondrick $
- */
- 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>')))
- {
- sfLoader::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);
- }
- }
|