Subversion Repositories oidplus

Rev

Rev 647 | Rev 658 | 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"));
51
                                        return;
52
                                } else {
53
                                        $("#update_header").text(_L("Update failed"));
54
                                        //alert(_L("Error: %1",errorThrown));
55
                                        $("#update_infobox").html($("#update_infobox").html() + "\n\n" + '<span class="severity_4"><strong>FATAL ERROR:</strong></span> ' + errorThrown + "\n\n");
56
                                }
635 daniel-mar 57
                        },
58
                        success: function(data) {
647 daniel-mar 59
                                //hide_waiting_anim();
635 daniel-mar 60
                                if ("error" in data) {
651 daniel-mar 61
                                        $("#update_header").text(_L("Update failed"));
62
                                        //alert(_L("Error: %1",data.error));
635 daniel-mar 63
                                        if ("content" in data) {
651 daniel-mar 64
                                                $("#update_infobox").html($("#update_infobox").html() + "\n\n" + data.content + "\n\n" + '<span class="severity_4"><strong>FATAL ERROR:</strong></span> ' + data.error + "\n\n");
65
                                        } else {
66
                                                $("#update_infobox").html($("#update_infobox").html() + "\n\n" + '<span class="severity_4"><strong>FATAL ERROR:</strong></span> ' + data.error + "\n\n");
635 daniel-mar 67
                                        }
68
                                } else if (data.status >= 0) {
647 daniel-mar 69
                                        output = data.content.trim();
70
                                        output = output.replace(/INFO:/g, '<span class="severity_2"><strong>INFO:</strong></span>');
71
                                        output = output.replace(/WARNING:/g, '<span class="severity_3"><strong>WARNING:</strong></span>');
72
                                        output = output.replace(/FATAL ERROR:/g, '<span class="severity_4"><strong>FATAL ERROR:</strong></span>');
73
                                        $("#update_infobox").html($("#update_infobox").html() + output + "\n");
74
                                        if (rev >= max) {
75
                                                //alert(_L("Update OK"));
76
                                                $("#update_header").text(_L("Update finished"));
651 daniel-mar 77
                                                // reloadContent(); // don't reload... let the user read the messages!
647 daniel-mar 78
                                        } else {
651 daniel-mar 79
                                                if (output.includes("FATAL ERROR:")) {
80
                                                        $("#update_header").text(_L("Update failed"));
81
                                                } else {
82
                                                        OIDplusPageAdminSoftwareUpdate._doUpdateOIDplus(rev+1, max);
83
                                                }
647 daniel-mar 84
                                        }
635 daniel-mar 85
                                        return;
86
                                } else {
651 daniel-mar 87
                                        $("#update_header").text(_L("Update failed"));
88
                                        //alert(_L("Error: %1",data));
635 daniel-mar 89
                                        if ("content" in data) {
651 daniel-mar 90
                                                $("#update_infobox").html($("#update_infobox").html() + "\n\n" + data.content + "\n\n" + '<span class="severity_4"><strong>FATAL ERROR:</strong></span> ' + data + "\n\n");
91
                                        } else {
92
                                                $("#update_infobox").html($("#update_infobox").html() + "\n\n" + '<span class="severity_4"><strong>FATAL ERROR:</strong></span> ' + data + "\n\n");
635 daniel-mar 93
                                        }
94
                                }
95
                        },
96
                        timeout:0 // infinite
97
                });
98
                return false;
99
        }
100
 
101
};