Merge pull request #3354 from nickvergessen/ticket/13556

[ticket/13556] Fix exception translation with filedownloader

* nickvergessen/ticket/13556:
  [ticket/13556] Fix exception translation with filedownloader
This commit is contained in:
Andreas Fischer 2015-01-30 19:00:15 +01:00
commit 3fef570950
2 changed files with 6 additions and 5 deletions

View file

@ -33,7 +33,7 @@ class file_downloader
* @return mixed File data as string if file can be read and there is no * @return mixed File data as string if file can be read and there is no
* timeout, false if there were errors or the connection timed out * timeout, false if there were errors or the connection timed out
* *
* @throws \RuntimeException If data can't be retrieved and no error * @throws \phpbb\exception\runtime_exception If data can't be retrieved and no error
* message is returned * message is returned
*/ */
public function get($host, $directory, $filename, $port = 80, $timeout = 6) public function get($host, $directory, $filename, $port = 80, $timeout = 6)
@ -69,7 +69,7 @@ class file_downloader
} }
else if (stripos($line, '404 not found') !== false) else if (stripos($line, '404 not found') !== false)
{ {
throw new \RuntimeException(array('FILE_NOT_FOUND', $filename)); throw new \phpbb\exception\runtime_exception('FILE_NOT_FOUND', array($filename));
} }
} }
@ -77,7 +77,7 @@ class file_downloader
if (!empty($stream_meta_data['timed_out']) || time() >= $timer_stop) if (!empty($stream_meta_data['timed_out']) || time() >= $timer_stop)
{ {
throw new \RuntimeException('FSOCK_TIMEOUT'); throw new \phpbb\exception\runtime_exception('FSOCK_TIMEOUT');
} }
} }
@fclose($socket); @fclose($socket);

View file

@ -257,9 +257,10 @@ class version_helper
try { try {
$info = $this->file_downloader->get($this->host, $this->path, $this->file); $info = $this->file_downloader->get($this->host, $this->path, $this->file);
} }
catch (\RuntimeException $exception) catch (\phpbb\exception\runtime_exception $exception)
{ {
throw new \RuntimeException($this->user->lang($exception->getMessage())); $prepare_parameters = array_merge(array($exception->getMessage()), $exception->get_parameters());
throw new \RuntimeException(call_user_func_array(array($this->user, 'lang'), $prepare_parameters));
} }
$error_string = $this->file_downloader->get_error_string(); $error_string = $this->file_downloader->get_error_string();