function __construct() { $this->cacheBuster = UIAssetCacheBuster::getInstance(); $this->minimalStylesheetFetcher = new StaticUIAssetFetcher(array('plugins/Zeitgeist/stylesheets/base.less'), array(), $this->theme); if (Manager::getInstance()->getThemeEnabled() != null) { $this->theme = new Theme(); } }
public function __construct() { $this->cacheBuster = UIAssetCacheBuster::getInstance(); $this->minimalStylesheetFetcher = new StaticUIAssetFetcher(array('plugins/Morpheus/stylesheets/base.less', 'plugins/Morpheus/stylesheets/general/_forms.less'), array(), $this->theme); $theme = Manager::getInstance()->getThemeEnabled(); if (!empty($theme)) { $this->theme = new Theme(); } }
protected function applyFilter_cacheBuster($output) { $assetManager = AssetManager::getInstance(); $stylesheet = $assetManager->getMergedStylesheetAsset(); if ($stylesheet->exists()) { $content = $stylesheet->getContent(); } else { $content = $assetManager->getMergedStylesheet()->getContent(); } $cacheBuster = UIAssetCacheBuster::getInstance(); $tagJs = 'cb=' . $cacheBuster->piwikVersionBasedCacheBuster(); $tagCss = 'cb=' . $cacheBuster->md5BasedCacheBuster($content); $pattern = array('~<script type=[\'"]text/javascript[\'"] src=[\'"]([^\'"]+)[\'"]>~', '~<script src=[\'"]([^\'"]+)[\'"] type=[\'"]text/javascript[\'"]>~', '~<link rel=[\'"]stylesheet[\'"] type=[\'"]text/css[\'"] href=[\'"]([^\'"]+)[\'"] ?/?>~', '~(src|href)=\\"index.php\\?module=([A-Za-z0-9_]+)&action=([A-Za-z0-9_]+)\\?cb=~'); $replace = array('<script type="text/javascript" src="$1?' . $tagJs . '">', '<script type="text/javascript" src="$1?' . $tagJs . '">', '<link rel="stylesheet" type="text/css" href="$1?' . $tagCss . '" />', '$1="index.php?module=$2&action=$3&cb='); return preg_replace($pattern, $replace, $output); }
public static function compileCustomJs($files) { $mergedAsset = new InMemoryUIAsset(); $fetcher = new StaticUIAssetFetcher($files, $priorityOrder = array(), $theme = null); $cacheBuster = UIAssetCacheBuster::getInstance(); $assetMerger = new JScriptUIAssetMerger($mergedAsset, $fetcher, $cacheBuster); $assetMerger->generateFile(); return $mergedAsset->getContent(); }
protected function applyFilter_cacheBuster($output) { $cacheBuster = UIAssetCacheBuster::getInstance()->piwikVersionBasedCacheBuster(); $tag = 'cb=' . $cacheBuster; $pattern = array('~<script type=[\'"]text/javascript[\'"] src=[\'"]([^\'"]+)[\'"]>~', '~<script src=[\'"]([^\'"]+)[\'"] type=[\'"]text/javascript[\'"]>~', '~<link rel=[\'"]stylesheet[\'"] type=[\'"]text/css[\'"] href=[\'"]([^\'"]+)[\'"] ?/?>~', '~(src|href)=\\"index.php\\?module=([A-Za-z0-9_]+)&action=([A-Za-z0-9_]+)\\?cb=~'); $replace = array('<script type="text/javascript" src="$1?' . $tag . '">', '<script type="text/javascript" src="$1?' . $tag . '">', '<link rel="stylesheet" type="text/css" href="$1?' . $tag . '" />', '$1="index.php?module=$2&action=$3&cb='); return preg_replace($pattern, $replace, $output); }
/** * @group Core */ public function test_md5BasedCacheBuster() { $this->assertEquals('098f6bcd4621d373cade4e832627b4f6', $this->cacheBuster->md5BasedCacheBuster('test')); }