You are here

public function CssCollectionOptimizer::deleteAll in Flysystem 2.0.x

Same name and namespace in other branches
  1. 8 src/Asset/CssCollectionOptimizer.php \Drupal\flysystem\Asset\CssCollectionOptimizer::deleteAll()
  2. 3.x src/Asset/CssCollectionOptimizer.php \Drupal\flysystem\Asset\CssCollectionOptimizer::deleteAll()
  3. 3.0.x src/Asset/CssCollectionOptimizer.php \Drupal\flysystem\Asset\CssCollectionOptimizer::deleteAll()

Deletes all optimized asset collections assets.

Overrides CssCollectionOptimizer::deleteAll

File

src/Asset/CssCollectionOptimizer.php, line 17

Class

CssCollectionOptimizer
Optimizes CSS assets.

Namespace

Drupal\flysystem\Asset

Code

public function deleteAll() {
  $this->state
    ->delete('drupal_css_cache_files');

  /** @var \Drupal\Core\File\FileSystem $file_system */
  $file_system = \Drupal::service('file_system');
  $delete_stale = static function ($uri) use ($file_system) {

    // Default stale file threshold is 30 days (2592000 seconds).
    $stale_file_threshold = \Drupal::config('system.performance')
      ->get('stale_file_threshold') ?? 2592000;
    if (\Drupal::time()
      ->getRequestTime() - filemtime($uri) > $stale_file_threshold) {
      $file_system
        ->delete($uri);
    }
  };
  $css_dir = $this
    ->getSchemeForExtension('css') . '://css';
  if (is_dir($css_dir)) {
    $file_system
      ->scanDirectory($css_dir, '/.*/', [
      'callback' => $delete_stale,
    ]);
  }
}