Mercurial > hg > isophonics-drupal-site
view vendor/drush/drush/lib/Drush/Command/Commandfiles.php @ 9:1fc0ff908d1f
Add another data file
author | Chris Cannam |
---|---|
date | Mon, 05 Feb 2018 12:34:32 +0000 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php /** * @file * Definition of Drush\Command\Commandfiles. */ namespace Drush\Command; /** * Default commandfiles implementation. * * This class manages the list of commandfiles that are active * in Drush for the current command invocation. */ class Commandfiles implements CommandfilesInterface { protected $cache; protected $deferred; function __construct() { $this->cache = array(); $this->deferred = array(); } function get() { return $this->cache; } function deferred() { return $this->deferred; } function sort() { ksort($this->cache); } function add($commandfile) { $load_command = FALSE; $module = basename($commandfile); $module = preg_replace('/\.*drush[0-9]*\.inc/', '', $module); $module_versionless = preg_replace('/\.d([0-9]+)$/', '', $module); if (!isset($this->cache[$module_versionless])) { $drupal_version = ''; if (preg_match('/\.d([0-9]+)$/', $module, $matches)) { $drupal_version = $matches[1]; } if (empty($drupal_version)) { $load_command = TRUE; } else { if (function_exists('drush_drupal_major_version') && ($drupal_version == drush_drupal_major_version())) { $load_command = TRUE; } else { // Signal that we should try again on // the next bootstrap phase. $this->deferred[$module] = $commandfile; } } if ($load_command) { $this->cache[$module_versionless] = $commandfile; require_once $commandfile; unset($this->deferred[$module]); } } return $load_command; } }