Piwik\View::applyFilter_cacheBuster PHP Method

applyFilter_cacheBuster() protected method

protected applyFilter_cacheBuster ( $output )
    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&amp;action=$3&amp;cb=');
        return preg_replace($pattern, $replace, $output);
    }