Rev 668 | Rev 696 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
635 | daniel-mar | 1 | /* |
2 | * OIDplus 2.0 |
||
3 | * Copyright 2019 - 2021 Daniel Marschall, ViaThinkSoft |
||
4 | * |
||
5 | * Licensed under the Apache License, Version 2.0 (the "License"); |
||
6 | * you may not use this file except in compliance with the License. |
||
7 | * You may obtain a copy of the License at |
||
8 | * |
||
9 | * http://www.apache.org/licenses/LICENSE-2.0 |
||
10 | * |
||
11 | * Unless required by applicable law or agreed to in writing, software |
||
12 | * distributed under the License is distributed on an "AS IS" BASIS, |
||
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||
14 | * See the License for the specific language governing permissions and |
||
15 | * limitations under the License. |
||
16 | */ |
||
17 | |||
18 | var OIDplusPageAdminSoftwareUpdate = { |
||
19 | |||
20 | oid: "1.3.6.1.4.1.37476.2.5.2.4.3.900", |
||
21 | |||
647 | daniel-mar | 22 | doUpdateOIDplus: function(rev, max) { |
23 | $("#update_versioninfo").hide(); |
||
651 | daniel-mar | 24 | $("#update_infobox").html(_L("Started update from %1 to %2",rev,max)+"\n"); |
647 | daniel-mar | 25 | OIDplusPageAdminSoftwareUpdate._doUpdateOIDplus(rev, max); |
26 | }, |
||
27 | |||
28 | _doUpdateOIDplus: function(rev, max) { |
||
29 | $("#update_header").text(_L("Updating to Revision %1 ...",rev)+"\n"); |
||
30 | //show_waiting_anim(); |
||
635 | daniel-mar | 31 | $.ajax({ |
32 | url: "ajax.php", |
||
33 | type: "POST", |
||
34 | beforeSend: function(jqXHR, settings) { |
||
35 | $.xhrPool.abortAll(); |
||
36 | $.xhrPool.add(jqXHR); |
||
37 | }, |
||
38 | complete: function(jqXHR, text) { |
||
39 | $.xhrPool.remove(jqXHR); |
||
40 | }, |
||
41 | data: { |
||
42 | csrf_token:csrf_token, |
||
43 | plugin: OIDplusPageAdminSoftwareUpdate.oid, |
||
647 | daniel-mar | 44 | rev: rev, |
635 | daniel-mar | 45 | action: "update_now", |
46 | }, |
||
47 | error:function(jqXHR, textStatus, errorThrown) { |
||
651 | daniel-mar | 48 | //hide_waiting_anim(); |
49 | if (errorThrown == "abort") { |
||
50 | $("#update_header").text(_L("Update aborted")); |
||
687 | daniel-mar | 51 | $("#update_infobox").html($("#update_infobox").html() + '\n\n<input type="button" onclick="location.reload()" value="'+_L('Reload page')+'">'); |
651 | daniel-mar | 52 | return; |
53 | } else { |
||
54 | $("#update_header").text(_L("Update failed")); |
||
55 | //alert(_L("Error: %1",errorThrown)); |
||
659 | daniel-mar | 56 | $("#update_infobox").html($("#update_infobox").html() + "\n\n" + '<span class="severity_4"><strong>' + _L('FATAL ERROR') + ':</strong></span> ' + errorThrown + "\n\n"); |
687 | daniel-mar | 57 | $("#update_infobox").html($("#update_infobox").html() + '\n\n<input type="button" onclick="location.reload()" value="'+_L('Reload page')+'">'); |
651 | daniel-mar | 58 | } |
635 | daniel-mar | 59 | }, |
60 | success: function(data) { |
||
647 | daniel-mar | 61 | //hide_waiting_anim(); |
635 | daniel-mar | 62 | if ("error" in data) { |
651 | daniel-mar | 63 | $("#update_header").text(_L("Update failed")); |
64 | //alert(_L("Error: %1",data.error)); |
||
635 | daniel-mar | 65 | if ("content" in data) { |
659 | daniel-mar | 66 | $("#update_infobox").html($("#update_infobox").html() + "\n\n" + data.content + "\n\n" + '<span class="severity_4"><strong>' + _L('FATAL ERROR') + ':</strong></span> ' + data.error + "\n\n"); |
651 | daniel-mar | 67 | } else { |
659 | daniel-mar | 68 | $("#update_infobox").html($("#update_infobox").html() + "\n\n" + '<span class="severity_4"><strong>' + _L('FATAL ERROR') + ':</strong></span> ' + data.error + "\n\n"); |
635 | daniel-mar | 69 | } |
687 | daniel-mar | 70 | $("#update_infobox").html($("#update_infobox").html() + '\n\n<input type="button" onclick="location.reload()" value="'+_L('Reload page')+'">'); |
635 | daniel-mar | 71 | } else if (data.status >= 0) { |
647 | daniel-mar | 72 | output = data.content.trim(); |
659 | daniel-mar | 73 | output = output.replace(/INFO:/g, '<span class="severity_2"><strong>' + _L('INFO') + ':</strong></span>'); |
74 | output = output.replace(/WARNING:/g, '<span class="severity_3"><strong>' + _L('WARNING') + ':</strong></span>'); |
||
75 | output = output.replace(/FATAL ERROR:/g, '<span class="severity_4"><strong>' + _L('FATAL ERROR') + ':</strong></span>'); |
||
647 | daniel-mar | 76 | $("#update_infobox").html($("#update_infobox").html() + output + "\n"); |
662 | daniel-mar | 77 | rev = data.rev=="HEAD" ? max : data.rev; |
647 | daniel-mar | 78 | if (rev >= max) { |
79 | $("#update_header").text(_L("Update finished")); |
||
687 | daniel-mar | 80 | $("#update_infobox").html($("#update_infobox").html() + "\n\n" + '<span class="severity_1"><strong> ' + _L('UPDATE FINISHED') + ':</strong></span> ' + _L('You are now at SVN revision %1', rev)); |
647 | daniel-mar | 81 | } else { |
651 | daniel-mar | 82 | if (output.includes("FATAL ERROR:")) { |
83 | $("#update_header").text(_L("Update failed")); |
||
84 | } else { |
||
668 | daniel-mar | 85 | OIDplusPageAdminSoftwareUpdate._doUpdateOIDplus(parseInt(rev)+1, max); |
651 | daniel-mar | 86 | } |
647 | daniel-mar | 87 | } |
687 | daniel-mar | 88 | $("#update_infobox").html($("#update_infobox").html() + '\n\n<input type="button" onclick="location.reload()" value="'+_L('Reload page')+'">'); |
635 | daniel-mar | 89 | return; |
90 | } else { |
||
651 | daniel-mar | 91 | $("#update_header").text(_L("Update failed")); |
92 | //alert(_L("Error: %1",data)); |
||
635 | daniel-mar | 93 | if ("content" in data) { |
659 | daniel-mar | 94 | $("#update_infobox").html($("#update_infobox").html() + "\n\n" + data.content + "\n\n" + '<span class="severity_4"><strong>' + _L('FATAL ERROR') + ':</strong></span> ' + data + "\n\n"); |
651 | daniel-mar | 95 | } else { |
659 | daniel-mar | 96 | $("#update_infobox").html($("#update_infobox").html() + "\n\n" + '<span class="severity_4"><strong>' + _L('FATAL ERROR') + ':</strong></span> ' + data + "\n\n"); |
635 | daniel-mar | 97 | } |
687 | daniel-mar | 98 | $("#update_infobox").html($("#update_infobox").html() + '\n\n<input type="button" onclick="location.reload()" value="'+_L('Reload page')+'">'); |
635 | daniel-mar | 99 | } |
100 | }, |
||
101 | timeout:0 // infinite |
||
102 | }); |
||
103 | return false; |
||
104 | } |
||
105 | |||
106 | }; |