You are here

function drush_cacheflush_drush_cacheflush in CacheFlush 8

Same name and namespace in other branches
  1. 7.3 modules/cacheflush_drush/cacheflush_drush.drush.inc \drush_cacheflush_drush_cacheflush()

Callback function for drush cacheflush.

Callback is called by using drush_hook_command() where hook is the name of the module (cacheflush_drush) and command is the name of the Drush command with all "-" characters converted to "_" characters.

Parameters

string|int $id: An optional argument.

File

modules/cacheflush_drush/cacheflush_drush.drush.inc, line 48
Cacheflush Drush implementation.

Code

function drush_cacheflush_drush_cacheflush($id = NULL) {
  if (isset($id)) {
    if (is_numeric($id)) {
      $cacheflush = cacheflush_load($id);
      if ($cacheflush && $cacheflush
        ->getStatus() == 1) {
        $msg = CacheflushApi::create(\Drupal::getContainer())
          ->clearPresetCache($cacheflush);
        fwrite(STDOUT, $msg . '\\n');
      }
      else {
        $msg = t('No entity with this id: "@variable", or entity not published yet.', [
          '@variable' => $id,
        ]);
      }
    }
    else {
      $msg = t('Please provide the ID of the preset (numeric value) ex: "drush cf 1".');
    }
    if (isset($msg)) {
      fwrite(STDOUT, $msg . '\\n');
    }
  }
  else {
    \Drupal::logger('cacheflush_drush')
      ->info(t('Preset list. Use "drush cf ID" to clear cache.'));
    foreach (cacheflush_load_multiple_by_properties([
      'status' => 1,
    ]) as $id => $entity) {
      $msg = '[' . $id . ']   :   ' . $entity
        ->getTitle();
      fwrite(STDOUT, $msg . '\\n');
    }
  }
}