Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / drush / drush / includes / drupal.inc
index cee6c48e83166ce45aae09b83ceb887df2f09cd9..a45d4acc8fb0b0777c0d3e69a12a3368a872bafb 100644 (file)
@@ -5,24 +5,7 @@
  * Utility functions related to Drupal.
  */
 
-use Drush\Log\LogLevel;
-
-/**
- * Loads the Drupal autoloader and returns the instance.
- */
-function drush_drupal_load_autoloader($drupal_root) {
-  static $autoloader = FALSE;
-
-  if (!$autoloader) {
-    $autoloader = require $drupal_root .'/autoload.php';
-    if ($autoloader === TRUE) {
-      // The autoloader was already require(). Assume that Drush and Drupal share an autoloader per
-      // "Point autoload.php to the proper vendor directory" - https://www.drupal.org/node/2404989
-      $autoloader = drush_get_context('DRUSH_CLASSLOADER');
-    }
-  }
-  return $autoloader;
-}
+use Drush\Drush;
 
 /**
  * Detects the version number of the current Drupal installation,
@@ -38,9 +21,9 @@ function drush_drupal_version($drupal_root = NULL) {
 
   if (!$version) {
     if (($drupal_root != NULL) || ($drupal_root = drush_get_context('DRUSH_DRUPAL_ROOT'))) {
-      $bootstrap = drush_bootstrap_class_for_root($drupal_root);
+      $bootstrap = Drush::bootstrapManager()->bootstrapObjectForRoot($drupal_root);
       if ($bootstrap) {
-        $version = $bootstrap->get_version($drupal_root);
+        $version = $bootstrap->getVersion($drupal_root);
       }
     }
   }
@@ -48,12 +31,7 @@ function drush_drupal_version($drupal_root = NULL) {
 }
 
 function drush_drupal_cache_clear_all() {
-  if (drush_drupal_major_version() >= 8) {
-    drush_invoke_process('@self', 'cache-rebuild');
-  }
-  else {
-    drush_invoke_process('@self', 'cache-clear', array('all'));
-  }
+  drush_invoke_process('@self', 'cache-rebuild');
 }
 
 /**
@@ -69,186 +47,3 @@ function drush_drupal_major_version($drupal_root = NULL) {
   }
   return $major_version;
 }
-
-/**
- * Log Drupal watchdog() calls.
- *
- * A sneaky implementation of hook_watchdog(), for D6/D7.
- */
-function system_watchdog($log_entry) {
-  // Transform non informative severity levels to 'error' for compatibility with _drush_print_log.
-  // Other severity levels are coincident with the ones we use in drush.
-  if (drush_drupal_major_version() >= 6 && $log_entry['severity'] <= 2) {
-    $severity = 'error';
-  }
-  else {
-    drush_include_engine('drupal', 'environment');
-    $levels = drush_watchdog_severity_levels();
-    $severity = $levels[$log_entry['severity']];
-  }
-  // Format the message.
-  if (is_array($log_entry['variables'])) {
-    $message = strtr($log_entry['message'], $log_entry['variables']);
-  }
-  else {
-    $message = $log_entry['message'];
-  }
-
-  // decode_entities() only loaded after FULL bootstrap.
-  if (function_exists('decode_entities')) {
-    $message = decode_entities($message);
-  }
-  $message = strip_tags($message);
-
-  // Log or print or ignore. Just printing saves memory but thats rarely needed.
-  switch (drush_get_option('watchdog', 'log')) {
-    case 'log':
-      drush_log('WD '. $log_entry['type'] . ': ' . $message, $severity);
-      break;
-    case 'print':
-      // Disable in backend mode since it logs output and the goal is to conserve memory.
-      // @see _drush_bootstrap_drush().
-      if (ob_get_length() === FALSE) {
-        drush_print('WD '. $severity . ' ' . $log_entry['type'] . ': ' . $message);
-      }
-      break;
-    default:
-      // Do nothing.
-  }
-}
-
-/**
- * Log the return value of Drupal hook_update_n functions.
- *
- * This is used during install and update to log the output
- * of the update process to the logging system.
- */
-function _drush_log_update_sql($ret) {
-  if (count($ret)) {
-    foreach ($ret as $info) {
-      if (is_array($info)) {
-        if (!$info['success']) {
-          drush_set_error('DRUPAL_UPDATE_FAILED', $info['query']);
-        }
-        else {
-          drush_log($info['query'], ($info['success']) ? LogLevel::SUCCESS : LogLevel::ERROR);
-        }
-      }
-    }
-  }
-}
-
-function drush_find_profiles($drupal_root , $key = 'name') {
-  return drush_scan_directory($drupal_root . '/profiles', "/.*\.profile$/", array('.', '..', 'CVS', 'tests'), 0, 2, $key);
-}
-
-/**
- * Parse Drupal info file format.
- *
- * Copied with modifications from includes/common.inc.
- *
- * @see drupal_parse_info_file
- */
-function drush_drupal_parse_info_file($filename) {
-  if (!file_exists($filename)) {
-    return array();
-  }
-
-  $data = file_get_contents($filename);
-  return _drush_drupal_parse_info_file($data);
-}
-
-/**
- * Parse the info file.
- */
-function _drush_drupal_parse_info_file($data, $merge_item = NULL) {
-  if (!$data) {
-    return FALSE;
-  }
-
-  if (preg_match_all('
-    @^\s*                           # Start at the beginning of a line, ignoring leading whitespace
-    ((?:
-      [^=;\[\]]|                    # Key names cannot contain equal signs, semi-colons or square brackets,
-      \[[^\[\]]*\]                  # unless they are balanced and not nested
-    )+?)
-    \s*=\s*                         # Key/value pairs are separated by equal signs (ignoring white-space)
-    (?:
-      ("(?:[^"]|(?<=\\\\)")*")|     # Double-quoted string, which may contain slash-escaped quotes/slashes
-      (\'(?:[^\']|(?<=\\\\)\')*\')| # Single-quoted string, which may contain slash-escaped quotes/slashes
-      ([^\r\n]*?)                   # Non-quoted string
-    )\s*$                           # Stop at the next end of a line, ignoring trailing whitespace
-    @msx', $data, $matches, PREG_SET_ORDER)) {
-    $info = array();
-    foreach ($matches as $match) {
-      // Fetch the key and value string.
-      $i = 0;
-      foreach (array('key', 'value1', 'value2', 'value3') as $var) {
-        $$var = isset($match[++$i]) ? $match[$i] : '';
-      }
-      $value = stripslashes(substr($value1, 1, -1)) . stripslashes(substr($value2, 1, -1)) . $value3;
-
-      // Parse array syntax.
-      $keys = preg_split('/\]?\[/', rtrim($key, ']'));
-      $last = array_pop($keys);
-      $parent = &$info;
-
-      // Create nested arrays.
-      foreach ($keys as $key) {
-        if ($key == '') {
-          $key = count($parent);
-        }
-        if (isset($merge_item) && isset($parent[$key]) && !is_array($parent[$key])) {
-          $parent[$key] = array($merge_item => $parent[$key]);
-        }
-        if (!isset($parent[$key]) || !is_array($parent[$key])) {
-          $parent[$key] = array();
-        }
-        $parent = &$parent[$key];
-      }
-
-      // Handle PHP constants.
-      if (defined($value)) {
-        $value = constant($value);
-      }
-
-      // Insert actual value.
-      if ($last == '') {
-        $last = count($parent);
-      }
-      if (isset($merge_item) && isset($parent[$last]) && is_array($parent[$last])) {
-        $parent[$last][$merge_item] = $value;
-      }
-      else {
-        $parent[$last] = $value;
-      }
-    }
-    return $info;
-  }
-  return FALSE;
-}
-
-/**
- * Build a cache id to store the install_profile for a given site.
- */
-function drush_cid_install_profile() {
-  return drush_get_cid('install_profile', array(), array(drush_get_context('DRUSH_SELECTED_DRUPAL_SITE_CONF_PATH')));
-}
-
-/*
- * An array of options shared by sql-sanitize and sql-sync commands.
- */
-function drupal_sanitize_options() {
-  return array(
-    'sanitize-password' => array(
-      'description' => 'The password to assign to all accounts in the sanitization operation, or "no" to keep passwords unchanged.',
-      'example-value' => 'password',
-      'value' => 'required',
-    ),
-    'sanitize-email' => array(
-      'description' => 'The pattern for test email addresses in the sanitization operation, or "no" to keep email addresses unchanged.  May contain replacement patterns %uid, %mail or %name.',
-      'example-value' => 'user+%uid@localhost',
-      'value' => 'required',
-    ),
-  );
-}