diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index 6f95bc13bd..0b9ea23fe7 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -2990,11 +2990,13 @@ function get_remote_file($host, $directory, $filename, &$errstr, &$errno, $port global $phpbb_container; // Get file downloader and assign $errstr and $errno - $file_downloader = $phpbb_container->get('file_downloader') - ->set_error_string($errstr) - ->set_error_number($errno); + $file_downloader = $phpbb_container->get('file_downloader'); - return $file_downloader->get($host, $directory, $filename, $port, $timeout); + $file_data = $file_downloader->get($host, $directory, $filename, $port, $timeout); + $errstr = $file_downloader->get_error_string(); + $errno = $file_downloader->get_error_number(); + + return $file_data; } /* diff --git a/phpBB/phpbb/file_downloader.php b/phpBB/phpbb/file_downloader.php index 2d5d9a7516..2a2b8dbab5 100644 --- a/phpBB/phpbb/file_downloader.php +++ b/phpBB/phpbb/file_downloader.php @@ -38,6 +38,10 @@ class file_downloader */ function get($host, $directory, $filename, $port = 80, $timeout = 6) { + // Set default values for error variables + $this->error_number = 0; + $this->error_string = ''; + if ($socket = @fsockopen($host, $port, $this->error_number, $this->error_string, $timeout)) { @fputs($socket, "GET $directory/$filename HTTP/1.0\r\n"); @@ -95,30 +99,22 @@ class file_downloader } /** - * Set error string + * Get error string * - * @param string $error_string Error string - * - * @return self + * @return string Error string */ - public function set_error_string(&$error_string) + public function get_error_string() { - $this->error_string = &$error_string; - - return $this; + return $this->error_string; } /** - * Set error number + * Get error number * - * @param int $error_number Error number - * - * @return self + * @return int Error number */ - public function set_error_number(&$error_number) + public function get_error_number() { - $this->error_number = &$error_number; - - return $this; + return $this->error_number; } } diff --git a/phpBB/phpbb/version_helper.php b/phpBB/phpbb/version_helper.php index d7f1f02678..38050d8ad7 100644 --- a/phpBB/phpbb/version_helper.php +++ b/phpBB/phpbb/version_helper.php @@ -254,9 +254,6 @@ class version_helper } else if ($info === false || $force_update) { - $errstr = $errno = ''; - $this->file_downloader->set_error_number($errno) - ->set_error_string($errstr); try { $info = $this->file_downloader->get($this->host, $this->path, $this->file); } @@ -264,10 +261,11 @@ class version_helper { throw new \RuntimeException(call_user_func_array(array($this->user, 'lang'), $exception->getMessage())); } + $error_string = $this->file_downloader->get_error_string(); - if (!empty($errstr)) + if (!empty($error_string)) { - throw new \RuntimeException($errstr); + throw new \RuntimeException($error_string); } $info = json_decode($info, true);