1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-05 16:27:38 +02:00

[ticket/12618] Allow extension author to use SSL for version-check

For version-check a new parameter 'ssl' is introduced.
If set to true, it will use 443 as port for the file_downloader.
In file_downloader, the host parameter of fsockopen is appended
with 'ssl://' in case the port is 443 in order to use SSL.

PHPBB3-12618
This commit is contained in:
Kilian
2015-09-25 21:06:13 +02:00
parent 7e379c4cea
commit 30279347ac
3 changed files with 12 additions and 5 deletions

View File

@@ -33,6 +33,11 @@ class version_helper
*/
protected $file = 'versions.json';
/**
* @var bool Use SSL or not
*/
protected $use_ssl = false;
/**
* @var string Current version installed
*/
@@ -85,13 +90,15 @@ class version_helper
* @param string $host Host (e.g. version.phpbb.com)
* @param string $path Path to file (e.g. /phpbb)
* @param string $file File name (Default: versions.json)
* @param bool $use_ssl Use SSL or not (Default: false)
* @return version_helper
*/
public function set_file_location($host, $path, $file = 'versions.json')
public function set_file_location($host, $path, $file = 'versions.json', $use_ssl = false)
{
$this->host = $host;
$this->path = $path;
$this->file = $file;
$this->use_ssl = $use_ssl;
return $this;
}
@@ -244,7 +251,7 @@ class version_helper
*/
public function get_versions($force_update = false, $force_cache = false)
{
$cache_file = '_versioncheck_' . $this->host . $this->path . $this->file;
$cache_file = '_versioncheck_' . $this->host . $this->path . $this->file . $this->use_ssl;
$info = $this->cache->get($cache_file);
@@ -255,7 +262,7 @@ class version_helper
else if ($info === false || $force_update)
{
try {
$info = $this->file_downloader->get($this->host, $this->path, $this->file);
$info = $this->file_downloader->get($this->host, $this->path, $this->file, $this->use_ssl ? 443 : 80);
}
catch (\phpbb\exception\runtime_exception $exception)
{