X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=vendor%2Fdrush%2Fdrush%2Fincludes%2Fbackend.inc;fp=vendor%2Fdrush%2Fdrush%2Fincludes%2Fbackend.inc;h=86e7d8119c0a0ea675bdeed4b101d8800e183193;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hp=11619d613c14d9b37d93dbdf7df558fb3d862bac;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0;p=yaffs-website diff --git a/vendor/drush/drush/includes/backend.inc b/vendor/drush/drush/includes/backend.inc index 11619d613..86e7d8119 100644 --- a/vendor/drush/drush/includes/backend.inc +++ b/vendor/drush/drush/includes/backend.inc @@ -58,6 +58,7 @@ */ use Drush\Log\LogLevel; +use Drush\Preflight\PreflightArgs; /** * Identify the JSON encoded output from a command. @@ -84,7 +85,7 @@ define('DRUSH_BACKEND_PACKET_PATTERN', "\0" . DRUSH_BACKEND_PACKET_START . "%s\n * used to generate the output for the current command. */ function drush_backend_set_result($value) { - if (drush_get_context('DRUSH_BACKEND')) { + if (\Drush\Drush::backend()) { drush_set_context('BACKEND_RESULT', $value); } } @@ -135,18 +136,12 @@ function drush_backend_get_result() { * encoded log records, context information, etc. */ function drush_backend_output() { - $data = array(); + $data = []; - if (drush_get_context('DRUSH_PIPE')) { - $pipe = drush_get_context('DRUSH_PIPE_BUFFER'); - $data['output'] = $pipe; // print_r($pipe, TRUE); - } - else { - // Strip out backend commands. - $packet_regex = strtr(sprintf(DRUSH_BACKEND_PACKET_PATTERN, "([^\0]*)"), array("\0" => "\\0")); - $packet_regex = str_replace("\n", "", $packet_regex); - $data['output'] = preg_replace("/$packet_regex/s", '', drush_backend_output_collect(NULL)); - } + // Strip out backend commands. + $packet_regex = strtr(sprintf(DRUSH_BACKEND_PACKET_PATTERN, "([^\0]*)"), ["\0" => "\\0"]); + $packet_regex = str_replace("\n", "", $packet_regex); + $data['output'] = preg_replace("/$packet_regex/s", '', drush_backend_output_collect(NULL)); if (drush_get_context('DRUSH_QUIET', FALSE)) { ob_end_clean(); @@ -167,7 +162,7 @@ function drush_backend_output() { // If there is a @self record, then include it in the result $self_record = drush_sitealias_get_record('@self'); if (!empty($self_record)) { - $site_context = drush_get_context('site', array()); + $site_context = drush_get_context('site', []); unset($site_context['config-file']); unset($site_context['context-path']); unset($self_record['loaded-config']); @@ -197,7 +192,7 @@ function drush_backend_output_collect($string) { * Output buffer functions that discards all output but backend packets. */ function drush_backend_output_discard($string) { - $packet_regex = strtr(sprintf(DRUSH_BACKEND_PACKET_PATTERN, "([^\0]*)"), array("\0" => "\\0")); + $packet_regex = strtr(sprintf(DRUSH_BACKEND_PACKET_PATTERN, "([^\0]*)"), ["\0" => "\\0"]); $packet_regex = str_replace("\n", "", $packet_regex); if (preg_match_all("/$packet_regex/s", $string, $matches)) { return implode('', $matches[0]); @@ -216,7 +211,7 @@ function drush_backend_output_discard($string) { * A boolean indicating whether the command was output. */ function drush_backend_packet($packet, $data) { - if (drush_get_context('DRUSH_BACKEND')) { + if (\Drush\Drush::backend()) { $data['packet'] = $packet; $data = json_encode($data); // We use 'fwrite' instead of 'drush_print' here because @@ -242,7 +237,7 @@ function drush_backend_packet($packet, $data) { * An associative array containing the data from the external command, or the string parameter if it * could not be parsed successfully. */ -function drush_backend_parse_output($string, $backend_options = array(), $outputted = FALSE) { +function drush_backend_parse_output($string, $backend_options = [], $outputted = FALSE) { $regex = sprintf(DRUSH_BACKEND_OUTPUT_DELIMITER, '(.*)'); preg_match("/$regex/s", $string, $match); @@ -303,7 +298,7 @@ function _drush_backend_integrate($data, $backend_options, $outputted) { // If the output has already been printed, then we do not need to show it again on a failure. if (!$outputted) { if (drush_cmp_error('DRUSH_APPLICATION_ERROR') && !empty($data['output'])) { - drush_set_error("DRUSH_APPLICATION_ERROR", dt("Output from failed command :\n !output", array('!output' => $data['output']))); + drush_set_error("DRUSH_APPLICATION_ERROR", dt("Output from failed command :\n !output", ['!output' => $data['output']])); } elseif ($backend_options['output']) { _drush_backend_print_output($data['output'], $backend_options); @@ -341,13 +336,13 @@ function _drush_backend_integrate_log($entry) { * called, the output of the command, and the error code of the command. */ function _drush_backend_proc_open($cmds, $process_limit, $context = NULL) { - $descriptorspec = array( - 0 => array("pipe", "r"), // stdin is a pipe that the child will read from - 1 => array("pipe", "w"), // stdout is a pipe that the child will write to - ); + $descriptorspec = [ + 0 => ["pipe", "r"], // stdin is a pipe that the child will read from + 1 => ["pipe", "w"], // stdout is a pipe that the child will write to + ]; - $open_processes = array(); - $bucket = array(); + $open_processes = []; + $bucket = []; $process_limit = max($process_limit, 1); $is_windows = drush_is_windows(); // Loop through processes until they all close, having a nap as needed. @@ -357,7 +352,8 @@ function _drush_backend_proc_open($cmds, $process_limit, $context = NULL) { if (count($cmds) && (count($open_processes) < $process_limit)) { // Pop the site and command (key / value) from the cmds array end($cmds); - list($site, $cmd) = each($cmds); + $cmd = current($cmds); + $site = key($cmds); unset($cmds[$site]); if (is_array($cmd)) { @@ -367,16 +363,16 @@ function _drush_backend_proc_open($cmds, $process_limit, $context = NULL) { } else { $c = $cmd; - $post_options = array(); - $backend_options = array(); + $post_options = []; + $backend_options = []; } - $backend_options += array( + $backend_options += [ '#output-label' => '', '#process-read-size' => 4096, - ); - $process = array(); + ]; + $process = []; drush_log($backend_options['#output-label'] . $c); - $process['process'] = proc_open($c, $descriptorspec, $process['pipes'], null, null, array('context' => $context)); + $process['process'] = proc_open($c, $descriptorspec, $process['pipes'], null, null, ['context' => $context]); if (is_resource($process['process'])) { if ($post_options) { fwrite($process['pipes'][0], json_encode($post_options)); // pass the data array in a JSON encoded string @@ -409,9 +405,9 @@ function _drush_backend_proc_open($cmds, $process_limit, $context = NULL) { // streams returned by proc_open. if (!$is_windows) { $ss_result = 0; - $read_streams = array(); - $write_streams = array(); - $except_streams = array(); + $read_streams = []; + $write_streams = []; + $except_streams = []; foreach ($open_processes as $site => &$current_process) { if (isset($current_process['pipes'][1])) { $read_streams[] = $current_process['pipes'][1]; @@ -534,7 +530,7 @@ function _drush_backend_print_output($output_string, $backend_options) { */ function drush_backend_parse_packets(&$string, &$remainder, $backend_options) { $remainder = ''; - $packet_regex = strtr(sprintf(DRUSH_BACKEND_PACKET_PATTERN, "([^\0]*)"), array("\0" => "\\0")); + $packet_regex = strtr(sprintf(DRUSH_BACKEND_PACKET_PATTERN, "([^\0]*)"), ["\0" => "\\0"]); $packet_regex = str_replace("\n", "", $packet_regex); if (preg_match_all("/$packet_regex/s", $string, $match, PREG_PATTERN_ORDER)) { drush_set_context('DRUSH_RECEIVED_BACKEND_PACKETS', TRUE); @@ -546,13 +542,13 @@ function drush_backend_parse_packets(&$string, &$remainder, $backend_options) { $function($entry, $backend_options); } else { - drush_log(dt("Unknown backend packet @packet", array('@packet' => $entry['packet'])), LogLevel::NOTICE); + drush_log(dt("Unknown backend packet @packet", ['@packet' => $entry['packet']]), LogLevel::INFO); } } else { drush_log(dt("Malformed backend packet"), LogLevel::ERROR); - drush_log(dt("Bad packet: @packet", array('@packet' => print_r($entry, TRUE))), LogLevel::DEBUG); - drush_log(dt("String is: @str", array('@str' => $packet_data), LogLevel::DEBUG)); + drush_log(dt("Bad packet: @packet", ['@packet' => print_r($entry, TRUE)]), LogLevel::DEBUG); + drush_log(dt("String is: @str", ['@str' => $packet_data]), LogLevel::DEBUG); } } $string = preg_replace("/$packet_regex/s", '', $string); @@ -605,14 +601,14 @@ function _drush_backend_adjust_options($site_record, $command, $command_options, $backend_options['output'] = FALSE; } $has_site_specification = array_key_exists('root', $site_record) || array_key_exists('uri', $site_record); - $result = $backend_options + array( + $result = $backend_options + [ 'method' => 'GET', 'output' => TRUE, 'log' => TRUE, 'integrate' => TRUE, 'backend' => TRUE, 'dispatch-using-alias' => !$has_site_specification, - ); + ]; // Convert '#integrate' et. al. into backend options foreach ($command_options as $key => $value) { if (substr($key,0,1) === '#') { @@ -628,7 +624,7 @@ function _drush_backend_adjust_options($site_record, $command, $command_options, * n.b. Prefer drush_invoke_process() to this function. * * @param invocations - * An array of command records to exacute. Each record should contain: + * An array of command records to execute. Each record should contain: * 'site': * An array containing information used to generate the command. * 'remote-host' @@ -707,11 +703,11 @@ function _drush_backend_adjust_options($site_record, $command, $command_options, * If the command could not be completed successfully, FALSE. * If the command was completed, this will return an associative array containing the data from drush_backend_output(). */ -function drush_backend_invoke_concurrent($invocations, $common_options = array(), $common_backend_options = array(), $default_command = NULL, $default_site = NULL, $context = NULL) { +function drush_backend_invoke_concurrent($invocations, $common_options = [], $common_backend_options = [], $default_command = NULL, $default_site = NULL, $context = NULL) { $index = 0; // Slice and dice our options in preparation to build a command string - $invocation_options = array(); + $invocation_options = []; foreach ($invocations as $invocation) { $site_record = isset($invocation['site']) ? $invocation['site'] : $default_site; // NULL is a synonym to '@self', although the latter is preferred. @@ -725,33 +721,44 @@ function drush_backend_invoke_concurrent($invocations, $common_options = array() $site_record = drush_sitealias_get_record($site_record); } $command = isset($invocation['command']) ? $invocation['command'] : $default_command; - $args = isset($invocation['args']) ? $invocation['args'] : array(); - $command_options = isset($invocation['options']) ? $invocation['options'] : array(); - $backend_options = isset($invocation['backend-options']) ? $invocation['backend-options'] : array(); + $args = isset($invocation['args']) ? $invocation['args'] : []; + $command_options = isset($invocation['options']) ? $invocation['options'] : []; + $backend_options = isset($invocation['backend-options']) ? $invocation['backend-options'] : []; // If $backend_options is passed in as a bool, interpret that as the value for 'integrate' if (!is_array($common_backend_options)) { $integrate = (bool)$common_backend_options; - $common_backend_options = array('integrate' => $integrate); + $common_backend_options = ['integrate' => $integrate]; } $command_options += $common_options; $backend_options += $common_backend_options; $backend_options = _drush_backend_adjust_options($site_record, $command, $command_options, $backend_options); - $backend_options += array( + $backend_options += [ 'drush-script' => NULL, - ); + ]; // Insure that contexts such as DRUSH_SIMULATE and NO_COLOR are included. $command_options += _drush_backend_get_global_contexts($site_record); // Add in command-specific options as well - $command_options += drush_command_get_command_specific_options($site_record, $command); + // $command_options += drush_command_get_command_specific_options($site_record, $command); + + // Add in preflight option contexts (--include et. al) + $preflightContextOptions = + \Drush\Drush::config()->get(PreflightArgs::DRUSH_RUNTIME_CONTEXT_NAMESPACE, []) + + \Drush\Drush::config()->get(PreflightArgs::DRUSH_CONFIG_PATH_NAMESPACE, []); + $preflightContextOptions['local'] = \Drush\Drush::config()->get('runtime.local', false); + foreach ($preflightContextOptions as $key => $value) { + if ($value) { + $command_options[$key] = $value; + } + } // If the caller has requested it, don't pull the options from the alias // into the command line, but use the alias name for dispatching. if (!empty($backend_options['dispatch-using-alias']) && isset($site_record['#name'])) { - list($post_options, $commandline_options, $drush_global_options) = _drush_backend_classify_options(array(), $command_options, $backend_options); + list($post_options, $commandline_options, $drush_global_options) = _drush_backend_classify_options([], $command_options, $backend_options); $site_record_to_dispatch = '@' . ltrim($site_record['#name'], '@'); } else { @@ -761,13 +768,13 @@ function drush_backend_invoke_concurrent($invocations, $common_options = array() if (array_key_exists('backend-simulate', $backend_options)) { $drush_global_options['simulate'] = TRUE; } - $site_record += array('path-aliases' => array(), '#env-vars' => array()); - $site_record['path-aliases'] += array( + $site_record += ['path-aliases' => [], '#env-vars' => []]; + $site_record['path-aliases'] += [ '%drush-script' => $backend_options['drush-script'], - ); + ]; $site = (array_key_exists('#name', $site_record) && !array_key_exists($site_record['#name'], $invocation_options)) ? $site_record['#name'] : $index++; - $invocation_options[$site] = array( + $invocation_options[$site] = [ 'site-record' => $site_record, 'site-record-to-dispatch' => $site_record_to_dispatch, 'command' => $command, @@ -777,7 +784,7 @@ function drush_backend_invoke_concurrent($invocations, $common_options = array() 'commandline-options' => $commandline_options, 'command-options' => $command_options, 'backend-options' => $backend_options, - ); + ]; } // Calculate the length of the longest output label @@ -809,7 +816,7 @@ function drush_backend_invoke_concurrent($invocations, $common_options = array() // Now pad out the output labels and add the label separator. $reserve_margin = $max_name_length + strlen($label_separator); foreach ($invocation_options as $site => $item) { - $backend_options = $item['backend-options'] + array('#output-label' => ''); + $backend_options = $item['backend-options'] + ['#output-label' => '']; $invocation_options[$site]['backend-options']['#output-label'] = str_pad($backend_options['#output-label'], $max_name_length, " ") . $label_separator; if ($reserve_margin) { $invocation_options[$site]['drush-global-options']['reserve-margin'] = $reserve_margin; @@ -817,7 +824,7 @@ function drush_backend_invoke_concurrent($invocations, $common_options = array() } // Now take our prepared options and generate the command strings - $cmds = array(); + $cmds = []; foreach ($invocation_options as $site => $item) { $site_record = $item['site-record']; $site_record_to_dispatch = $item['site-record-to-dispatch']; @@ -837,21 +844,20 @@ function drush_backend_invoke_concurrent($invocations, $common_options = array() // If the caller did not pass in a specific path to drush, then we will // use a default value. For commands that are being executed on the same // machine, we will use DRUSH_COMMAND, which is the path to the drush.php - // that is running right now. For remote commands, we will run a wrapper - // script instead of drush.php called drush. + // that is running right now. $drush_path = $site_record['path-aliases']['%drush-script']; if (!$drush_path && !$is_remote && $is_different_site) { - $drush_path = find_wrapper_or_launcher($site_record['root']); + $drush_path = DRUSH_COMMAND; } $env_vars = $site_record['#env-vars']; $php = array_key_exists('php', $site_record) ? $site_record['php'] : (array_key_exists('php', $command_options) ? $command_options['php'] : NULL); $drush_command_path = drush_build_drush_command($drush_path, $php, $os, $is_remote, $env_vars); $cmd = _drush_backend_generate_command($site_record, $drush_command_path . " " . _drush_backend_argument_string($drush_global_options, $os) . " " . $site_record_to_dispatch . " " . $command, $args, $commandline_options, $backend_options) . ' 2>&1'; - $cmds[$site] = array( + $cmds[$site] = [ 'cmd' => $cmd, 'post-options' => $post_options, 'backend-options' => $backend_options, - ); + ]; } return _drush_backend_invoke($cmds, $common_backend_options, $context); @@ -862,7 +868,7 @@ function drush_backend_invoke_concurrent($invocations, $common_options = array() * return them in an associative array. */ function _drush_backend_get_global_contexts($site_record) { - $result = array(); + $result = []; $global_option_list = drush_get_global_options(FALSE); foreach ($global_option_list as $global_key => $global_metadata) { if (is_array($global_metadata)) { @@ -878,7 +884,7 @@ function _drush_backend_get_global_contexts($site_record) { // If the context is declared to be a 'local-context-only', // then only put it in if this is a local dispatch. if (!array_key_exists('local-context-only', $global_metadata) || !array_key_exists('remote-host', $site_record)) { - $value = drush_get_context($global_metadata['context'], array()); + $value = drush_get_context($global_metadata['context'], []); } } if (!empty($value) || ($value === '0')) { @@ -908,17 +914,17 @@ function _drush_backend_classify_options($site_record, $command_options, &$backe // in the global option list) from the commandline options and put them into the post options. // The post options will be json-encoded and sent to the command via stdin $global_option_list = drush_get_global_options(FALSE); // These should be in the command line. - $additional_global_options = array(); + $additional_global_options = []; if (array_key_exists('additional-global-options', $backend_options)) { $additional_global_options = $backend_options['additional-global-options']; $command_options += $additional_global_options; } $method_post = ((!array_key_exists('method', $backend_options)) || ($backend_options['method'] == 'POST')); - $post_options = array(); - $commandline_options = array(); - $drush_global_options = array(); - $drush_local_options = array(); - $additional_backend_options = array(); + $post_options = []; + $commandline_options = []; + $drush_global_options = []; + $drush_local_options = []; + $additional_backend_options = []; foreach ($site_record as $key => $value) { if (!in_array($key, drush_sitealias_site_selection_keys())) { if ($key[0] == '#') { @@ -972,7 +978,7 @@ function _drush_backend_classify_options($site_record, $command_options, &$backe } } } - return array($post_options, $commandline_options, $drush_global_options, $additional_backend_options); + return [$post_options, $commandline_options, $drush_global_options, $additional_backend_options]; } /** @@ -1003,15 +1009,15 @@ function _drush_backend_classify_options($site_record, $command_options, &$backe * containing one item, 'concurrent', which will contain a list of the different * backend invoke results from each concurrent command. */ -function _drush_backend_invoke($cmds, $common_backend_options = array(), $context = NULL) { - if (drush_get_context('DRUSH_SIMULATE') && !array_key_exists('override-simulated', $common_backend_options) && !array_key_exists('backend-simulate', $common_backend_options)) { +function _drush_backend_invoke($cmds, $common_backend_options = [], $context = NULL) { + if (\Drush\Drush::simulate() && !array_key_exists('override-simulated', $common_backend_options) && !array_key_exists('backend-simulate', $common_backend_options)) { foreach ($cmds as $cmd) { - drush_print(dt('Simulating backend invoke: !cmd', array('!cmd' => $cmd['cmd']))); + drush_print(dt('Simulating backend invoke: !cmd', ['!cmd' => $cmd['cmd']])); } return FALSE; } foreach ($cmds as $cmd) { - drush_log(dt('Backend invoke: !cmd', array('!cmd' => $cmd['cmd'])), 'command'); + drush_log(dt('Backend invoke: !cmd', ['!cmd' => $cmd['cmd']]), 'command'); } if (!empty($common_backend_options['interactive']) || !empty($common_backend_options['fork'])) { foreach ($cmds as $cmd) { @@ -1021,15 +1027,15 @@ function _drush_backend_invoke($cmds, $common_backend_options = array(), $contex } $result_code = drush_shell_proc_open($exec_cmd); - $ret = array('error_status' => $result_code); + $ret = ['error_status' => $result_code]; } } else { $process_limit = drush_get_option_override($common_backend_options, 'concurrency', 1); $procs = _drush_backend_proc_open($cmds, $process_limit, $context); - $procs = is_array($procs) ? $procs : array($procs); + $procs = is_array($procs) ? $procs : [$procs]; - $ret = array(); + $ret = []; foreach ($procs as $site => $proc) { if (($proc['code'] == DRUSH_APPLICATION_ERROR) && isset($common_backend_options['integrate'])) { drush_set_error('DRUSH_APPLICATION_ERROR', dt("The external command could not be executed due to an application error.")); @@ -1043,14 +1049,14 @@ function _drush_backend_invoke($cmds, $common_backend_options = array(), $contex $ret = $values; } elseif (!array_key_exists('concurrent', $ret)) { - $ret = array('concurrent' => array($ret, $values)); + $ret = ['concurrent' => [$ret, $values]]; } else { $ret['concurrent'][] = $values; } } else { - $ret = drush_set_error('DRUSH_FRAMEWORK_ERROR', dt("The command could not be executed successfully (returned: !return, code: !code)", array("!return" => $proc['output'], "!code" => $proc['code']))); + $ret = drush_set_error('DRUSH_FRAMEWORK_ERROR', dt("The command could not be executed successfully (returned: !return, code: !code)", ["!return" => $proc['output'], "!code" => $proc['code']])); } } } @@ -1064,22 +1070,22 @@ function _drush_backend_invoke($cmds, $common_backend_options = array(), $contex */ function drush_backend_generate_sitealias($backend_options) { // Ensure default values. - $backend_options += array( + $backend_options += [ 'remote-host' => NULL, 'remote-user' => NULL, 'ssh-options' => NULL, 'drush-script' => NULL, 'env-vars' => NULL - ); - return array( + ]; + return [ 'remote-host' => $backend_options['remote-host'], 'remote-user' => $backend_options['remote-user'], 'ssh-options' => $backend_options['ssh-options'], '#env-vars' => $backend_options['env-vars'], - 'path-aliases' => array( + 'path-aliases' => [ '%drush-script' => $backend_options['drush-script'], - ), - ); + ], + ]; } /** @@ -1121,20 +1127,20 @@ function drush_backend_generate_sitealias($backend_options) { * @return * A text string representing a fully escaped command. */ -function _drush_backend_generate_command($site_record, $command, $args = array(), $command_options = array(), $backend_options = array()) { - $site_record += array( +function _drush_backend_generate_command($site_record, $command, $args = [], $command_options = [], $backend_options = []) { + $site_record += [ 'remote-host' => NULL, 'remote-user' => NULL, 'ssh-options' => NULL, - 'path-aliases' => array(), - ); - $backend_options += array( + 'path-aliases' => [], + ]; + $backend_options += [ '#tty' => FALSE, - ); + ]; $hostname = $site_record['remote-host']; $username = $site_record['remote-user']; - $ssh_options = $site_record['ssh-options']; + $ssh_options = $site_record['ssh-options']; // TODO: update this (maybe make $site_record an AliasRecord) $os = drush_os($site_record); if (drush_is_local_host($hostname)) { @@ -1158,17 +1164,17 @@ function _drush_backend_generate_command($site_record, $command, $args = array() } $command = implode(' ', array_filter($cmd, 'strlen')); if (isset($hostname)) { - $username = (isset($username)) ? drush_escapeshellarg($username, "LOCAL") . "@" : ''; - $ssh_options = $site_record['ssh-options']; - $ssh_options = (isset($ssh_options)) ? $ssh_options : drush_get_option('ssh-options', "-o PasswordAuthentication=no"); + $username = (isset($username)) ? drush_escapeshellarg($username) . "@" : ''; + $ssh_options = $site_record['ssh-options']; // TODO: update + $ssh_options = (isset($ssh_options)) ? $ssh_options : \Drush\Drush::config()->get('ssh.options', "-o PasswordAuthentication=no"); $ssh_cmd[] = "ssh"; $ssh_cmd[] = $ssh_options; if ($backend_options['#tty']) { $ssh_cmd[] = '-t'; } - $ssh_cmd[] = $username . drush_escapeshellarg($hostname, "LOCAL"); - $ssh_cmd[] = drush_escapeshellarg($command . ' 2>&1', "LOCAL"); + $ssh_cmd[] = $username . drush_escapeshellarg($hostname); + $ssh_cmd[] = drush_escapeshellarg($command . ' 2>&1'); // Remove NULLs and separate with spaces $command = implode(' ', array_filter($ssh_cmd, 'strlen')); @@ -1194,7 +1200,7 @@ function _drush_backend_generate_command($site_record, $command, $args = array() * A properly formatted and escaped set of arguments and options to append to the drush.php shell command. */ function _drush_backend_argument_string($data, $os = NULL) { - $options = array(); + $options = []; foreach ($data as $key => $value) { if (!is_array($value) && !is_object($value) && isset($value)) { @@ -1266,7 +1272,7 @@ function _drush_backend_get_stdin() { // So, redirecting input is okay, it is just the proc_open that is a problem. if (drush_is_windows()) { // Note that stream_select uses reference parameters, so we need variables (can't pass a constant NULL) - $read = array($fp); + $read = [$fp]; $write = NULL; $except = NULL; // Question: might we need to wait a bit for STDIN to be ready,