drupalApi = $drupalApi; $this->site = $site; $this->classLoader = $classLoader; $this->requestStack = $requestStack; parent::__construct(); } /** * {@inheritdoc} */ protected function configure() { $this ->setName('cache:rebuild') ->setDescription($this->trans('commands.cache.rebuild.description')) ->addArgument( 'cache', InputArgument::OPTIONAL, $this->trans('commands.cache.rebuild.options.cache') ); } /** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); $cache = $input->getArgument('cache'); $this->site->loadLegacyFile('/core/includes/utility.inc'); if ($cache && !$this->drupalApi->isValidCache($cache)) { $io->error( sprintf( $this->trans('commands.cache.rebuild.messages.invalid_cache'), $cache ) ); return 1; } $io->newLine(); $io->comment($this->trans('commands.cache.rebuild.messages.rebuild')); if ($cache === 'all') { $this->drupalApi->drupal_rebuild( $this->classLoader, $this->requestStack->getCurrentRequest() ); } else { $caches = $this->drupalApi->getCaches(); $caches[$cache]->deleteAll(); } $io->success($this->trans('commands.cache.rebuild.messages.completed')); return 0; } /** * {@inheritdoc} */ protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); $cache = $input->getArgument('cache'); if (!$cache) { $cacheKeys = array_keys($this->drupalApi->getCaches()); $cache = $io->choiceNoList( $this->trans('commands.cache.rebuild.questions.cache'), $cacheKeys, 'all' ); $input->setArgument('cache', $cache); } } }