summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2019-12-20 18:17:05 +0300
committerAndrew Dolgov <[email protected]>2019-12-20 18:17:05 +0300
commitfdb1fc760846e523c64ef10bd89f046580b6d9cb (patch)
tree8770cd448f96a4f3f1331abb8e6e80339d1693d3 /include
parente9b4834b6ba788f43b8ce0bca13a9526df11d472 (diff)
get_version: fix commit/timestamp lost on subsequent invocations because of misbehaving caching
Diffstat (limited to 'include')
-rw-r--r--include/functions.php24
1 files changed, 16 insertions, 8 deletions
diff --git a/include/functions.php b/include/functions.php
index f244b47b8..537139d18 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -1892,20 +1892,26 @@
function get_version(&$git_commit = false, &$git_timestamp = false) {
global $ttrss_version;
- if (isset($ttrss_version))
- return $ttrss_version;
+ if (is_array($ttrss_version) && isset($ttrss_version['version'])) {
+ $git_commit = $ttrss_version['commit'];
+ $git_timestamp = $ttrss_version['timestamp'];
- $ttrss_version = "UNKNOWN (Unsupported)";
+ return $ttrss_version['version'];
+ } else {
+ $ttrss_version = [];
+ }
+
+ $ttrss_version['version'] = "UNKNOWN (Unsupported)";
date_default_timezone_set('UTC');
$root_dir = dirname(dirname(__FILE__));
if ('\\' === DIRECTORY_SEPARATOR) {
- $ttrss_version = "UNKNOWN (Unsupported, Windows)";
+ $ttrss_version['version'] = "UNKNOWN (Unsupported, Windows)";
} else if (PHP_OS === "Darwin") {
- $ttrss_version = "UNKNOWN (Unsupported, Darwin)";
+ $ttrss_version['version'] = "UNKNOWN (Unsupported, Darwin)";
} else if (file_exists("$root_dir/version_static.txt")) {
- $ttrss_version = trim(file_get_contents("$root_dir/version_static.txt")) . " (Unsupported)";
+ $ttrss_version['version'] = trim(file_get_contents("$root_dir/version_static.txt")) . " (Unsupported)";
} else if (is_dir("$root_dir/.git")) {
$rc = 0;
$output = [];
@@ -1923,12 +1929,14 @@
$git_commit = $commit;
$git_timestamp = $timestamp;
- $ttrss_version = strftime("%y.%m", $timestamp) . "-$commit";
+ $ttrss_version['version'] = strftime("%y.%m", $timestamp) . "-$commit";
+ $ttrss_version['commit'] = $commit;
+ $ttrss_version['timestamp'] = $timestamp;
}
} else {
user_error("Unable to determine version (using $root_dir): " . implode("\n", $output), E_USER_WARNING);
}
}
- return $ttrss_version;
+ return $ttrss_version['version'];
}