/** * Retrieve the CSS Manager, creates one if it doesn't exist * * @return sfCombinePlusManager */ public static function getCssManager() { if (self::$_cssManager === null) { self::$_cssManager = new self(); } return self::$_cssManager; }
/** * @see get_combined_javascripts */ function get_combined_stylesheets($groups = null, $groupType = sfCombinePlusManager::GROUP_INCLUDE, $onlyUnusedGroups = true, $markGroupsUsed = true) { if (!sfConfig::get('app_sfCombinePlusPlugin_enabled', false)) { return get_stylesheets(); } $manager = sfCombinePlusManager::getCssManager(); sfConfig::set('symfony.asset.stylesheets_included', true); $response = sfContext::getInstance()->getResponse(); $config = sfConfig::get('app_sfCombinePlusPlugin_css', array()); $doNotCombine = isset($config['combine_skip']) ? $config['combine_skip'] : array(); $manager->setSkips(array_merge($manager->getSkips(), $doNotCombine)); $groupedFiles = $manager->getAssetsByGroup($response->getStylesheets(), $config['combine'], $groups, $groupType, $onlyUnusedGroups, $markGroupsUsed); $html = ''; foreach ($groupedFiles as $fileDetails) { if (!$fileDetails['combinable']) { $html .= stylesheet_tag(stylesheet_path($fileDetails['files']), $fileDetails['options']); } else { $route = isset($config['route']) ? $config['route'] : 'sfCombinePlus'; $html .= stylesheet_tag(url_for('@' . $route . '?module=sfCombinePlus&action=js&' . sfCombinePlusUrl::getUrlString($fileDetails['files'])), $fileDetails['options']); } } return $html; }