PageSourceSearch

https://tentaculus.ru/tavern/js/update.js

js tentaculus.ru collected 2026-10-03 23:19:49 UTC 2,507 bytes, 94 lines download raw bytes

1var oInfo = {
2  title: "Новая версия",
3  url: "www.tentaculus.ru/tavern",
4  resume: "Добавлена ссылка на генератор имен",
5  details: "",
6  date: "23.08.2017",
7  version: "2.0.2"
8}
9
10function showMessage(oParams) {	
11  if(!($("#topMessage").length > 0) && oParams) {
12
13    var sTitle = oParams.title || "Есть свежая версия";
14    var sResume = oParams.resume || "";
15    var sDetails = '<p>' + oParams.details + '</p>' || "";
16    var sDate = '<p>' + oParams.date + '</p>' || "";
17    var sVersion = '<p>' + oParams.version + '</p>' || "";
18    var sURL = oParams.url || "www.tentaculus.ru";
19
20    var sHeader = "<a href='"+sURL+"' title='Перейти к новой версии'>"+sTitle + " | " + sResume + "</a>";
21    var sInfo = "<div class='dDetails'>"+sDetails + sVersion + sDate+"</div>";
22    var oButton = "<button class='bHide'>Скрыть</button>";
23	
24	var oLeft = "<div class='left'>"+sHeader+sInfo+"</div>";
25	var oRight = "<div class='right'>"+oButton+"</div>";
26
27    $("body").prepend("<div id='topMessage' style='display: none'>"+oLeft+oRight+"</div>");
28  }
29  $("#topMessage").slideDown();
30}
31
32function hideMessage() {
33  $("#topMessage").slideUp();
34
35  return new Date();
36}
37
38function checkForUpdate(sVersion, fMessage) {
39	function formatVersion(sVer) {
40		if(sVer) {
41			return sVer = sVer.split(".");
42		}
43		return NaN;
44	}
45	
46	function compareVersions(aV1, aV2) {
47		for (var i =0; i< Math.max(aV1.length, aV2.length); i++) {
48			aV1[i] = aV1[i]?aV1[i]: 0;
49			aV2[i] = aV2[i]?aV2[i]: 0;
50			
51			if(aV1[i] < aV2[i])
52				return -1;
53			if(aV1[i] > aV2[i])
54				return 1;			
55		}
56		return 0;
57	}
58  if(sVersion != oInfo.version) {
59    if(compareVersions(formatVersion(sVersion), formatVersion(oInfo.version)) < 0) {
60      // local version is outdated
61
62      if(fMessage) {
63        // it's time to show message
64
65        // show message
66        showMessage(oInfo);
67      }
68    }
69  }
70}
71
72$(document).ready(function(){
73	$('body').on('click', "#topMessage .bHide", function(){
74	  var dMessageHidded = hideMessage();
75	  try{
76		setConfig("dMessageHidded", dMessageHidded);
77	  } catch (err) {
78		console.log("[ERROR] We can't save message hidding:");
79		console.dir(err);
80	  }
81	});
82})
83
84setTimeout(function(){
85  var dMessageHidded = getConfig("dMessageHidded");
86  if(dMessageHidded) {
87	var fMessage = (new Date() - dMessageHidded) > 20*60*60*1000;
88  } else {
89	  fMessage = true;
90  }
91  var sVersion = TENTACULUS_APP_VERSION;
92
93  checkForUpdate(sVersion, fMessage);
94}, 3000);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.