mirror of https://tt-rss.org/git/tt-rss.git
add placeholder update checker using git changesets
This commit is contained in:
parent
47cdc58c60
commit
efcc5d365d
|
@ -203,6 +203,26 @@
|
||||||
return array($prefixes, $hotkeys);
|
return array($prefixes, $hotkeys);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function check_for_update() {
|
||||||
|
if (defined("GIT_VERSION_TIMESTAMP")) {
|
||||||
|
$content = @fetch_file_contents("http://tt-rss.org/version.json");
|
||||||
|
|
||||||
|
if ($content) {
|
||||||
|
$content = json_decode($content, true);
|
||||||
|
|
||||||
|
if ($content && isset($content["changeset"])) {
|
||||||
|
if ((int)GIT_VERSION_TIMESTAMP < (int)$content["changeset"]["timestamp"] &&
|
||||||
|
GIT_VERSION_HEAD != $content["changeset"]["id"]) {
|
||||||
|
|
||||||
|
return $content["changeset"]["id"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
function make_runtime_info() {
|
function make_runtime_info() {
|
||||||
$data = array();
|
$data = array();
|
||||||
|
|
||||||
|
@ -221,6 +241,15 @@
|
||||||
$data['dep_ts'] = calculate_dep_timestamp();
|
$data['dep_ts'] = calculate_dep_timestamp();
|
||||||
$data['reload_on_ts_change'] = !defined('_NO_RELOAD_ON_TS_CHANGE');
|
$data['reload_on_ts_change'] = !defined('_NO_RELOAD_ON_TS_CHANGE');
|
||||||
|
|
||||||
|
|
||||||
|
if (true || $_SESSION["last_version_check"] + 86400 + rand(-1000, 1000) < time()) {
|
||||||
|
$update_result = @check_for_update();
|
||||||
|
|
||||||
|
$data["update_result"] = $update_result;
|
||||||
|
|
||||||
|
$_SESSION["last_version_check"] = time();
|
||||||
|
}
|
||||||
|
|
||||||
if (file_exists(LOCK_DIRECTORY . "/update_daemon.lock")) {
|
if (file_exists(LOCK_DIRECTORY . "/update_daemon.lock")) {
|
||||||
|
|
||||||
$data['daemon_is_running'] = (int) file_is_locked("update_daemon.lock");
|
$data['daemon_is_running'] = (int) file_is_locked("update_daemon.lock");
|
||||||
|
|
|
@ -8,6 +8,10 @@
|
||||||
if (is_dir("$root_dir/.git") && file_exists("$root_dir/.git/refs/heads/master")) {
|
if (is_dir("$root_dir/.git") && file_exists("$root_dir/.git/refs/heads/master")) {
|
||||||
|
|
||||||
$suffix = substr(trim(file_get_contents("$root_dir/.git/refs/heads/master")), 0, 7);
|
$suffix = substr(trim(file_get_contents("$root_dir/.git/refs/heads/master")), 0, 7);
|
||||||
|
$timestamp = filemtime("$root_dir/.git/refs/heads/master");
|
||||||
|
|
||||||
|
define("GIT_VERSION_HEAD", $suffix);
|
||||||
|
define("GIT_VERSION_TIMESTAMP", $timestamp);
|
||||||
|
|
||||||
return VERSION_STATIC . ".$suffix";
|
return VERSION_STATIC . ".$suffix";
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -252,6 +252,10 @@
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<button id="updatesIcon" dojoType="dijit.form.Button" style="display : none">
|
||||||
|
<img src="images/new_version.png" title="<?php echo __('Updates are available from Git.') ?>"/>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div> <!-- toolbar -->
|
</div> <!-- toolbar -->
|
||||||
</div> <!-- toolbar pane -->
|
</div> <!-- toolbar pane -->
|
||||||
|
|
10
js/tt-rss.js
10
js/tt-rss.js
|
@ -767,6 +767,16 @@ function parse_runtime_info(data) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (k == "update_result") {
|
||||||
|
var updatesIcon = dijit.byId("updatesIcon").domNode;
|
||||||
|
|
||||||
|
if (v != "") {
|
||||||
|
Element.show(updatesIcon);
|
||||||
|
} else {
|
||||||
|
Element.hide(updatesIcon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (k == "daemon_stamp_ok" && v != 1) {
|
if (k == "daemon_stamp_ok" && v != 1) {
|
||||||
notify_error("<span onclick=\"javascript:explainError(3)\">Update daemon is not updating feeds.</span>", true);
|
notify_error("<span onclick=\"javascript:explainError(3)\">Update daemon is not updating feeds.</span>", true);
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue