aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2017-01-22 16:56:14 +0100
committerMarc Alexander <admin@m-a-styles.de>2017-01-22 16:58:37 +0100
commit20a4d095de449e4f72272e77da4e009033f2c1de (patch)
tree776219bdb86382b4304dd988463d54fa986479ba
parenta620ce0713f42daea8c5b0c4fdb70c63748af1f8 (diff)
downloadforums-20a4d095de449e4f72272e77da4e009033f2c1de.tar
forums-20a4d095de449e4f72272e77da4e009033f2c1de.tar.gz
forums-20a4d095de449e4f72272e77da4e009033f2c1de.tar.bz2
forums-20a4d095de449e4f72272e77da4e009033f2c1de.tar.xz
forums-20a4d095de449e4f72272e77da4e009033f2c1de.zip
[ticket/14968] Update docblock and ensure method returns array
PHPBB3-14968
-rw-r--r--phpBB/phpbb/version_helper.php12
-rw-r--r--tests/version/version_test.php4
2 files changed, 10 insertions, 6 deletions
diff --git a/phpBB/phpbb/version_helper.php b/phpBB/phpbb/version_helper.php
index b5f493de9d..135d390584 100644
--- a/phpBB/phpbb/version_helper.php
+++ b/phpBB/phpbb/version_helper.php
@@ -201,11 +201,14 @@ class version_helper
}
/**
- * Gets the latest version for the current branch the user is on
+ * Gets the latest update for the current branch the user is on
+ * Will suggest versions from newer branches when EoL has been reached
+ * and/or version from newer branch is needed for having all known security
+ * issues fixed.
*
* @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
+ * @return array Version info or empty array if there are no updates
* @throws \RuntimeException
*/
public function get_update_on_branch($force_update = false, $force_cache = false)
@@ -221,10 +224,9 @@ class version_helper
});
// Get the lowest version from the previous list.
- return array_reduce($versions, function($value, $data) use ($self, $current_version) {
+ $update_info = array_reduce($versions, function($value, $data) use ($self, $current_version) {
if ($value === null && $self->compare($data['current'], $current_version, '>='))
{
-
if (!$data['eol'] && (!$data['security'] || $self->compare($data['security'], $data['current'], '<=')))
{
return ($self->compare($data['current'], $current_version, '>')) ? $data : array();
@@ -237,6 +239,8 @@ class version_helper
return $value;
});
+
+ return $update_info === null ? array() : $update_info;
}
/**
diff --git a/tests/version/version_test.php b/tests/version/version_test.php
index b9a6cf19ab..1d47b0ab4a 100644
--- a/tests/version/version_test.php
+++ b/tests/version/version_test.php
@@ -419,7 +419,7 @@ class phpbb_version_helper_test extends phpbb_test_case
array(
'1.1.0',
array(),
- null,
+ array(),
),
// Latest safe release is 1.0.1
array(
@@ -500,7 +500,7 @@ class phpbb_version_helper_test extends phpbb_test_case
'eol' => true,
),
),
- null,
+ array(),
),
);
}