drupalmoduleupgrader-8.x-1.5/src/Plugin/DMU/Converter/Functions/DisableDeriver.php
src/Plugin/DMU/Converter/Functions/DisableDeriver.php
<?php namespace Drupal\drupalmoduleupgrader\Plugin\DMU\Converter\Functions; use Drupal\drupalmoduleupgrader\DeriverBase; /** * Builds derivative definitions for the _disable plugin, based on a bundled configuration * file. This allows us (plugin authors) to easily define which function calls can be * commented out. */ class DisableDeriver extends DeriverBase { /** * {@inheritdoc} */ public function getDerivativeDefinitions($base_definition) { $derivatives = []; $config = \Drupal::config('drupalmoduleupgrader.functions')->get('definitions'); foreach ($config as $key => $info) { // Only disable functions that have been explicitly marked for disabling. if (empty($info['disable'])) { continue; } // $key can either be the name of a single function, or an arbitrary string // identifying a group of functions to handle. if (empty($info['functions'])) { $info['functions'] = [$key]; } foreach ($info['functions'] as $function) { $derivative = $base_definition; $variables = ['@function' => $function . '()']; $derivative['function'] = $function; $derivative['description'] = $this->t('Disables calls to @function().', $variables); if (isset($info['fixme'])) { $derivative['fixme'] = $this->t($info['fixme'], $variables); } $derivative['documentation'] = $info['documentation']; $derivatives[$function] = $derivative; } } return $derivatives; } }