aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/version_helper.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/phpbb/version_helper.php')
-rw-r--r--phpBB/phpbb/version_helper.php82
1 files changed, 47 insertions, 35 deletions
diff --git a/phpBB/phpbb/version_helper.php b/phpBB/phpbb/version_helper.php
index 76bd477e18..968a57428f 100644
--- a/phpBB/phpbb/version_helper.php
+++ b/phpBB/phpbb/version_helper.php
@@ -1,9 +1,13 @@
<?php
/**
*
-* @package phpBB3
-* @copyright (c) 2014 phpBB Group
-* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+* This file is part of the phpBB Forum Software package.
+*
+* @copyright (c) phpBB Limited <https://www.phpbb.com>
+* @license GNU General Public License, version 2 (GPL-2.0)
+*
+* For full copyright and license information, please see
+* the docs/CREDITS.txt file.
*
*/
@@ -154,15 +158,16 @@ class version_helper
}
/**
- * Gets the latest version for the current branch the user is on
- *
- * @param bool $force_update Ignores cached data. Defaults to false.
- * @return string
- * @throws \RuntimeException
- */
- public function get_latest_on_current_branch($force_update = false)
+ * Gets the latest version for the current branch the user is on
+ *
+ * @param bool $force_update Ignores cached data. Defaults to false.
+ * @param bool $force_cache Force the use of the cache. Override $force_update.
+ * @return string
+ * @throws \RuntimeException
+ */
+ public function get_latest_on_current_branch($force_update = false, $force_cache = false)
{
- $versions = $this->get_versions_matching_stability($force_update);
+ $versions = $this->get_versions_matching_stability($force_update, $force_cache);
$self = $this;
$current_version = $this->current_version;
@@ -184,15 +189,16 @@ class version_helper
}
/**
- * Obtains the latest version information
- *
- * @param bool $force_update Ignores cached data. Defaults to false.
- * @return string
- * @throws \RuntimeException
- */
- public function get_suggested_updates($force_update = false)
+ * Obtains the latest version information
+ *
+ * @param bool $force_update Ignores cached data. Defaults to false.
+ * @param bool $force_cache Force the use of the cache. Override $force_update.
+ * @return string
+ * @throws \RuntimeException
+ */
+ public function get_suggested_updates($force_update = false, $force_cache = false)
{
- $versions = $this->get_versions_matching_stability($force_update);
+ $versions = $this->get_versions_matching_stability($force_update, $force_cache);
$self = $this;
$current_version = $this->current_version;
@@ -204,15 +210,16 @@ class version_helper
}
/**
- * Obtains the latest version information matching the stability of the current install
- *
- * @param bool $force_update Ignores cached data. Defaults to false.
- * @return string Version info
- * @throws \RuntimeException
- */
- public function get_versions_matching_stability($force_update = false)
+ * Obtains the latest version information matching the stability of the current install
+ *
+ * @param bool $force_update Ignores cached data. Defaults to false.
+ * @param bool $force_cache Force the use of the cache. Override $force_update.
+ * @return string Version info
+ * @throws \RuntimeException
+ */
+ public function get_versions_matching_stability($force_update = false, $force_cache = false)
{
- $info = $this->get_versions($force_update);
+ $info = $this->get_versions($force_update, $force_cache);
if ($this->force_stability !== null)
{
@@ -223,19 +230,24 @@ class version_helper
}
/**
- * Obtains the latest version information
- *
- * @param bool $force_update Ignores cached data. Defaults to false.
- * @return string Version info, includes stable and unstable data
- * @throws \RuntimeException
- */
- public function get_versions($force_update = false)
+ * Obtains the latest version information
+ *
+ * @param bool $force_update Ignores cached data. Defaults to false.
+ * @param bool $force_cache Force the use of the cache. Override $force_update.
+ * @return string Version info, includes stable and unstable data
+ * @throws \RuntimeException
+ */
+ public function get_versions($force_update = false, $force_cache = false)
{
$cache_file = 'versioncheck_' . $this->host . $this->path . $this->file;
$info = $this->cache->get($cache_file);
- if ($info === false || $force_update)
+ if ($info === false && $force_cache)
+ {
+ throw new \RuntimeException($this->user->lang('VERSIONCHECK_FAIL'));
+ }
+ else if ($info === false || $force_update)
{
$errstr = $errno = '';
$info = get_remote_file($this->host, $this->path, $this->file, $errstr, $errno);