get_version: fix commit/timestamp lost on subsequent invocations because of misbehaving caching
This commit is contained in:
parent
e9b4834b6b
commit
fdb1fc7608
|
@ -595,7 +595,7 @@ class RPC extends Handler_Protected {
|
||||||
|
|
||||||
get_version($git_commit, $git_timestamp);
|
get_version($git_commit, $git_timestamp);
|
||||||
|
|
||||||
if (CHECK_FOR_UPDATES && $_SESSION["access_level"] >= 10 && $git_timestamp) {
|
if (defined('CHECK_FOR_UPDATES') && CHECK_FOR_UPDATES && $_SESSION["access_level"] >= 10 && $git_timestamp) {
|
||||||
$content = @fetch_file_contents(["url" => "https://srv.tt-rss.org/version.json"]);
|
$content = @fetch_file_contents(["url" => "https://srv.tt-rss.org/version.json"]);
|
||||||
|
|
||||||
if ($content) {
|
if ($content) {
|
||||||
|
|
|
@ -1892,20 +1892,26 @@
|
||||||
function get_version(&$git_commit = false, &$git_timestamp = false) {
|
function get_version(&$git_commit = false, &$git_timestamp = false) {
|
||||||
global $ttrss_version;
|
global $ttrss_version;
|
||||||
|
|
||||||
if (isset($ttrss_version))
|
if (is_array($ttrss_version) && isset($ttrss_version['version'])) {
|
||||||
return $ttrss_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');
|
date_default_timezone_set('UTC');
|
||||||
$root_dir = dirname(dirname(__FILE__));
|
$root_dir = dirname(dirname(__FILE__));
|
||||||
|
|
||||||
if ('\\' === DIRECTORY_SEPARATOR) {
|
if ('\\' === DIRECTORY_SEPARATOR) {
|
||||||
$ttrss_version = "UNKNOWN (Unsupported, Windows)";
|
$ttrss_version['version'] = "UNKNOWN (Unsupported, Windows)";
|
||||||
} else if (PHP_OS === "Darwin") {
|
} 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")) {
|
} 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")) {
|
} else if (is_dir("$root_dir/.git")) {
|
||||||
$rc = 0;
|
$rc = 0;
|
||||||
$output = [];
|
$output = [];
|
||||||
|
@ -1923,12 +1929,14 @@
|
||||||
$git_commit = $commit;
|
$git_commit = $commit;
|
||||||
$git_timestamp = $timestamp;
|
$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 {
|
} else {
|
||||||
user_error("Unable to determine version (using $root_dir): " . implode("\n", $output), E_USER_WARNING);
|
user_error("Unable to determine version (using $root_dir): " . implode("\n", $output), E_USER_WARNING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $ttrss_version;
|
return $ttrss_version['version'];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue