aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/includes/functions_admin.php10
-rw-r--r--phpBB/phpbb/file_downloader.php28
-rw-r--r--phpBB/phpbb/version_helper.php8
3 files changed, 21 insertions, 25 deletions
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
- *
- * @param string $error_string Error string
+ * Get 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);