Mercurial > hg > cmmr2012-drupal-site
comparison core/lib/Drupal/Core/Asset/CssCollectionOptimizer.php @ 5:12f9dff5fda9 tip
Update to Drupal core 8.7.1
author | Chris Cannam |
---|---|
date | Thu, 09 May 2019 15:34:47 +0100 |
parents | c75dbcec494b |
children |
comparison
equal
deleted
inserted
replaced
4:a9cd425dd02b | 5:12f9dff5fda9 |
---|---|
1 <?php | 1 <?php |
2 | 2 |
3 namespace Drupal\Core\Asset; | 3 namespace Drupal\Core\Asset; |
4 | 4 |
5 use Drupal\Core\File\FileSystemInterface; | |
5 use Drupal\Core\State\StateInterface; | 6 use Drupal\Core\State\StateInterface; |
6 | 7 |
7 /** | 8 /** |
8 * Optimizes CSS assets. | 9 * Optimizes CSS assets. |
9 */ | 10 */ |
34 * The state key/value store. | 35 * The state key/value store. |
35 * | 36 * |
36 * @var \Drupal\Core\State\StateInterface | 37 * @var \Drupal\Core\State\StateInterface |
37 */ | 38 */ |
38 protected $state; | 39 protected $state; |
40 | |
41 /** | |
42 * The file system service. | |
43 * | |
44 * @var \Drupal\Core\File\FileSystemInterface | |
45 */ | |
46 protected $fileSystem; | |
39 | 47 |
40 /** | 48 /** |
41 * Constructs a CssCollectionOptimizer. | 49 * Constructs a CssCollectionOptimizer. |
42 * | 50 * |
43 * @param \Drupal\Core\Asset\AssetCollectionGrouperInterface $grouper | 51 * @param \Drupal\Core\Asset\AssetCollectionGrouperInterface $grouper |
46 * The optimizer for a single CSS asset. | 54 * The optimizer for a single CSS asset. |
47 * @param \Drupal\Core\Asset\AssetDumperInterface $dumper | 55 * @param \Drupal\Core\Asset\AssetDumperInterface $dumper |
48 * The dumper for optimized CSS assets. | 56 * The dumper for optimized CSS assets. |
49 * @param \Drupal\Core\State\StateInterface $state | 57 * @param \Drupal\Core\State\StateInterface $state |
50 * The state key/value store. | 58 * The state key/value store. |
51 */ | 59 * @param \Drupal\Core\File\FileSystemInterface $file_system |
52 public function __construct(AssetCollectionGrouperInterface $grouper, AssetOptimizerInterface $optimizer, AssetDumperInterface $dumper, StateInterface $state) { | 60 * The file system service. |
61 */ | |
62 public function __construct(AssetCollectionGrouperInterface $grouper, AssetOptimizerInterface $optimizer, AssetDumperInterface $dumper, StateInterface $state, FileSystemInterface $file_system = NULL) { | |
53 $this->grouper = $grouper; | 63 $this->grouper = $grouper; |
54 $this->optimizer = $optimizer; | 64 $this->optimizer = $optimizer; |
55 $this->dumper = $dumper; | 65 $this->dumper = $dumper; |
56 $this->state = $state; | 66 $this->state = $state; |
67 if (!$file_system) { | |
68 @trigger_error('The file_system service must be passed to CssCollectionOptimizer::__construct(), it is required before Drupal 9.0.0. See https://www.drupal.org/node/3006851.', E_USER_DEPRECATED); | |
69 $file_system = \Drupal::service('file_system'); | |
70 } | |
71 $this->fileSystem = $file_system; | |
57 } | 72 } |
58 | 73 |
59 /** | 74 /** |
60 * {@inheritdoc} | 75 * {@inheritdoc} |
61 * | 76 * |
176 $this->state->delete('drupal_css_cache_files'); | 191 $this->state->delete('drupal_css_cache_files'); |
177 | 192 |
178 $delete_stale = function ($uri) { | 193 $delete_stale = function ($uri) { |
179 // Default stale file threshold is 30 days. | 194 // Default stale file threshold is 30 days. |
180 if (REQUEST_TIME - filemtime($uri) > \Drupal::config('system.performance')->get('stale_file_threshold')) { | 195 if (REQUEST_TIME - filemtime($uri) > \Drupal::config('system.performance')->get('stale_file_threshold')) { |
181 file_unmanaged_delete($uri); | 196 $this->fileSystem->delete($uri); |
182 } | 197 } |
183 }; | 198 }; |
184 file_scan_directory('public://css', '/.*/', ['callback' => $delete_stale]); | 199 file_scan_directory('public://css', '/.*/', ['callback' => $delete_stale]); |
185 } | 200 } |
186 | 201 |