PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 1.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v1.3.1
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / AssetManager / UIAssetCacheBuster.php
matomo / app / core / AssetManager Last commit date
UIAsset 6 years ago UIAssetFetcher 6 years ago UIAssetMerger 6 years ago UIAsset.php 6 years ago UIAssetCacheBuster.php 6 years ago UIAssetCatalog.php 6 years ago UIAssetCatalogSorter.php 6 years ago UIAssetFetcher.php 6 years ago UIAssetMerger.php 6 years ago UIAssetMinifier.php 6 years ago
UIAssetCacheBuster.php
67 lines
1 <?php
2 /**
3 * Piwik - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
8 * @method static \Piwik\AssetManager\UIAssetCacheBuster getInstance()
9 */
10 namespace Piwik\AssetManager;
11
12 use Piwik\Plugin\Manager;
13 use Piwik\Singleton;
14 use Piwik\Version;
15
16 class UIAssetCacheBuster extends Singleton
17 {
18 /**
19 * Cache buster based on
20 * - Piwik version
21 * - Loaded plugins (name and version)
22 * - Super user salt
23 * - Latest
24 *
25 * @param string[] $pluginNames
26 * @return string
27 */
28 public function piwikVersionBasedCacheBuster($pluginNames = false)
29 {
30 static $cachedCacheBuster = null;
31
32 if (empty($cachedCacheBuster) || $pluginNames !== false) {
33
34 $masterFile = PIWIK_INCLUDE_PATH . '/.git/refs/heads/master';
35 $currentGitHash = file_exists($masterFile) ? @file_get_contents($masterFile) : null;
36
37 $plugins = !$pluginNames ? Manager::getInstance()->getLoadedPluginsName() : $pluginNames;
38 sort($plugins);
39
40 $pluginsInfo = '';
41 foreach ($plugins as $pluginName) {
42 $plugin = Manager::getInstance()->getLoadedPlugin($pluginName);
43 $pluginsInfo .= $plugin->getPluginName() . $plugin->getVersion() . ',';
44 }
45
46 $cacheBuster = md5($pluginsInfo . PHP_VERSION . Version::VERSION . trim($currentGitHash));
47
48 if ($pluginNames !== false) {
49 return $cacheBuster;
50 }
51
52 $cachedCacheBuster = $cacheBuster;
53 }
54
55 return $cachedCacheBuster;
56 }
57
58 /**
59 * @param string $content
60 * @return string
61 */
62 public function md5BasedCacheBuster($content)
63 {
64 return md5($content);
65 }
66 }
67