aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/version_helper.php
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-11-22 15:42:37 +0100
committerJoas Schilling <nickvergessen@gmx.de>2014-11-22 15:42:37 +0100
commitfd993cbaf26cea66fc72c2a744189d7c1fef843c (patch)
tree8735e78d0b8171e233821a80f933ccf5be0195a4 /phpBB/phpbb/version_helper.php
parent8b711038368bc0a52d1b532a2f1b7c8c45ac2d0a (diff)
parentf3ae5e4cb2cf1f3db1d2b8e2a34e234845712efe (diff)
downloadforums-fd993cbaf26cea66fc72c2a744189d7c1fef843c.tar
forums-fd993cbaf26cea66fc72c2a744189d7c1fef843c.tar.gz
forums-fd993cbaf26cea66fc72c2a744189d7c1fef843c.tar.bz2
forums-fd993cbaf26cea66fc72c2a744189d7c1fef843c.tar.xz
forums-fd993cbaf26cea66fc72c2a744189d7c1fef843c.zip
Merge pull request #3157 from marc1706/ticket/13358
[ticket/13358] Add class for retrieving remote file data
Diffstat (limited to 'phpBB/phpbb/version_helper.php')
-rw-r--r--phpBB/phpbb/version_helper.php21
1 files changed, 16 insertions, 5 deletions
diff --git a/phpBB/phpbb/version_helper.php b/phpBB/phpbb/version_helper.php
index c3c3602944..e34bd0ba60 100644
--- a/phpBB/phpbb/version_helper.php
+++ b/phpBB/phpbb/version_helper.php
@@ -50,6 +50,9 @@ class version_helper
/** @var \phpbb\config\config */
protected $config;
+ /** @var \phpbb\file_downloader */
+ protected $file_downloader;
+
/** @var \phpbb\user */
protected $user;
@@ -58,12 +61,14 @@ class version_helper
*
* @param \phpbb\cache\service $cache
* @param \phpbb\config\config $config
+ * @param \phpbb\file_downloader $file_downloader
* @param \phpbb\user $user
*/
- public function __construct(\phpbb\cache\service $cache, \phpbb\config\config $config, \phpbb\user $user)
+ public function __construct(\phpbb\cache\service $cache, \phpbb\config\config $config, \phpbb\file_downloader $file_downloader, \phpbb\user $user)
{
$this->cache = $cache;
$this->config = $config;
+ $this->file_downloader = $file_downloader;
$this->user = $user;
if (defined('PHPBB_QA'))
@@ -249,12 +254,18 @@ class version_helper
}
else if ($info === false || $force_update)
{
- $errstr = $errno = '';
- $info = get_remote_file($this->host, $this->path, $this->file, $errstr, $errno);
+ try {
+ $info = $this->file_downloader->get($this->host, $this->path, $this->file);
+ }
+ catch (\RuntimeException $exception)
+ {
+ 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);