Index: chrome/nagioschecker/locale/en-US/nagioschecker/nagioschecker.dtd
===================================================================
--- chrome/nagioschecker/locale/en-US/nagioschecker/nagioschecker.dtd
+++ chrome/nagioschecker/locale/en-US/nagioschecker/nagioschecker.dtd
@@ -18,6 +18,7 @@
+
Index: chrome/nagioschecker/locale/es-ES/nagioschecker/nagioschecker.dtd
===================================================================
--- chrome/nagioschecker/locale/es-ES/nagioschecker/nagioschecker.dtd
+++ chrome/nagioschecker/locale/es-ES/nagioschecker/nagioschecker.dtd
@@ -16,6 +16,7 @@
+
Index: chrome/nagioschecker/content/nagioschecker.js
===================================================================
--- chrome/nagioschecker/content/nagioschecker.js
+++ chrome/nagioschecker/content/nagioschecker.js
@@ -1478,6 +1478,7 @@
username:(pPass) ? tmp_prf[(i+1)+".username"] : ((auth.user) ? auth.user : ''),
password:(pPass) ? tmp_prf[(i+1)+".password"] : ((auth.password) ? auth.password : ''),
versionOlderThan20:tmp_prf[(i+1)+".vot20"],
+ versionOpsview: tmp_prf[(i+1)+".opsview"],
getAliases:gAli,
aliases:{},
disabled:gDis
@@ -1548,6 +1549,7 @@
username:(pPass) ? this.preferences.getCharPref("extensions.nagioschecker."+(i+1)+".username") : ((auth.user) ? auth.user : ''),
password:(pPass) ? this.preferences.getCharPref("extensions.nagioschecker."+(i+1)+".password") : ((auth.password) ? auth.password : ''),
versionOlderThan20:this.preferences.getBoolPref("extensions.nagioschecker."+(i+1)+".vot20"),
+ versionOpsview:this.preferences.getBoolPref("extensions.nagioschecker."+(i+1)+".opsview"),
getAliases:gAli,
aliases:{},
disabled:gDis
Index: chrome/nagioschecker/content/nagioschecker-new.xul
===================================================================
--- chrome/nagioschecker/content/nagioschecker-new.xul
+++ chrome/nagioschecker/content/nagioschecker-new.xul
@@ -38,6 +38,7 @@
+
@@ -68,4 +69,4 @@
-
\ No newline at end of file
+
Index: chrome/nagioschecker/content/nagioschecker-new.js
===================================================================
--- chrome/nagioschecker/content/nagioschecker-new.js
+++ chrome/nagioschecker/content/nagioschecker-new.js
@@ -6,6 +6,7 @@
username: document.getElementById('nch-general-username').value,
password: document.getElementById('nch-general-password').value,
versionOlderThan20: document.getElementById('nch-general-vot20').checked,
+ versionOpsview: document.getElementById('nch-general-opsview').checked,
plainPass: document.getElementById('nch-general-plainpass').checked,
getAliases: document.getElementById('nch-general-getaliases').checked,
disabled: document.getElementById('nch-general-disabled').checked
@@ -104,6 +105,7 @@
document.getElementById('nch-general-username').value=server.username;
document.getElementById('nch-general-password').value=server.password;
document.getElementById('nch-general-vot20').checked=server.versionOlderThan20;
+ document.getElementById('nch-general-opsview').checked=server.versionOpsview;
document.getElementById('nch-general-plainpass').checked=server.plainPass;
document.getElementById('nch-general-getaliases').checked=server.getAliases;
document.getElementById('nch-general-disabled').checked=server.disabled;
@@ -137,4 +139,4 @@
}
return true;
-}
\ No newline at end of file
+}
Index: chrome/nagioschecker/content/nagioschecker-options.js
===================================================================
--- chrome/nagioschecker/content/nagioschecker-options.js
+++ chrome/nagioschecker/content/nagioschecker-options.js
@@ -394,6 +394,7 @@
prefs.setCharPref("extensions.nagioschecker."+(i+1)+".name",this._servers[j].name);
prefs.setCharPref("extensions.nagioschecker."+(i+1)+".urlstatus",this._servers[j].urlstatus);
prefs.setBoolPref("extensions.nagioschecker."+(i+1)+".vot20",this._servers[j].versionOlderThan20);
+ prefs.setBoolPref("extensions.nagioschecker."+(i+1)+".opsview",this._servers[j].versionOpsview);
prefs.setBoolPref("extensions.nagioschecker."+(i+1)+".plainpass",this._servers[j].plainPass);
prefs.setBoolPref("extensions.nagioschecker."+(i+1)+".getaliases",this._servers[j].getAliases);
prefs.setCharPref("extensions.nagioschecker."+(i+1)+".username",(this._servers[j].plainPass) ? this._servers[j].username : "");
@@ -565,6 +566,12 @@
var vot20 = false;
}
try {
+ var opsview = prefs.getBoolPref("extensions.nagioschecker."+(i+1)+".opsview");
+ }
+ catch (e) {
+ var opsview = false;
+ }
+ try {
var pPass = prefs.getBoolPref("extensions.nagioschecker."+(i+1)+".plainpass");
}
catch (e) {
@@ -591,6 +598,7 @@
name:prefs.getCharPref("extensions.nagioschecker."+(i+1)+".name"),
urlstatus:prefs.getCharPref("extensions.nagioschecker."+(i+1)+".urlstatus"),
versionOlderThan20:vot20,
+ versionOpsview:opsview,
plainPass:pPass,
getAliases:getAli,
disabled:getDis,
Index: chrome/nagioschecker/content/nagioschecker-parser.js
===================================================================
--- chrome/nagioschecker/content/nagioschecker-parser.js
+++ chrome/nagioschecker/content/nagioschecker-parser.js
@@ -106,21 +106,40 @@
}
},
+ loginToOpsview: function(pos) {
+ var login_auth = new XMLHttpRequest();
+ var login_url = this._servers[pos].url + '/login' +
+ '?login_username=' + this._servers[pos].username +
+ '&login_password=' + this._servers[pos].password
+
+ login_auth.open("POST", login_url, false);
+ login_auth.send(null);
+
+ this._servers[pos]._opsviewLoggedIn = 1;
+ },
+
fetchServer: function(pos) {
this.problems[pos]={"down":[],"unreachable":[],"unknown":[],"warning":[],"critical":[],"_error":false,"_time":null};
this.missingAliases[pos]=[];
if (!this._servers[pos].disabled) {
var urlServices = (this._servers[pos].versionOlderThan20) ? this._servers[pos].urlstatus+"?host=all&servicestatustypes=248" : this._servers[pos].urlstatus+"?host=all&servicestatustypes=28";
+ if (this._servers[pos].versionOpsview == 1){
+ if (this._servers[pos]._opsviewLoggedIn != 1){
+ this.loginToOpsview(pos);
+ }
+ }
+
var urlHosts = this._servers[pos].urlstatus+"?hostgroup=all&style=hostdetail&hoststatustypes=12";
var urlExt = this._servers[pos].urlstatus.replace(/status\.cgi/,"extinfo.cgi");
- var user = this._servers[pos].username;
- var pass = this._servers[pos].password;
+ var server = this._servers[pos];
var me = this;
- this.loadDataAsync(urlHosts,user,pass,false,function (doc1) {
+
+ this.loadDataAsync(urlHosts,server,false,function (doc1) {
+
me.parseNagiosHostsHtml(pos,doc1);
- me.loadDataAsync(urlServices,user,pass,false,function (doc2) {
+ me.loadDataAsync(urlServices,server,false,function (doc2) {
me.parseNagiosServicesHtml(pos,doc2);
- me.loadMissingAlias(0,pos,user,pass,function () {
+ me.loadMissingAlias(0,pos,server,function () {
me.problems[pos]["_time"]=new Date();
if (me._servers.length==pos+1) {
// me.manager.handleProblems(me.problems);
@@ -144,15 +163,15 @@
}
},
- loadMissingAlias: function(apos,pos,username,password,callback) {
+ loadMissingAlias: function(apos,pos,server,callback) {
if (this.missingAliases[pos][apos]) {
var extinfo = this._servers[pos].urlstatus.replace(/status\.cgi/,"extinfo.cgi");
var urlExt = extinfo+"?type=1&host="+this.missingAliases[pos][apos];
var me=this;
- this.loadDataAsync(urlExt,username,password,false,function (doc2) {
+ this.loadDataAsync(urlExt,server,false,function (doc2) {
me.parseAlias(pos,me.missingAliases[pos][apos],doc2);
me.manager._servers[pos][me.missingAliases[pos][apos]]=me.missingAliases[pos][apos];
- me.loadMissingAlias(apos+1,pos,username,password,callback);
+ me.loadMissingAlias(apos+1,pos,server,callback);
},false);
}
else {
@@ -160,12 +179,16 @@
}
},
- loadDataAsync: function(url,username,password,rettext,callback,remove_nl) {
+ loadDataAsync: function(url,server,rettext,callback,remove_nl) {
var doc=null;
if (url) {
var request=new XMLHttpRequest();
- request.open("GET",url,true,username,password);
+ if (server.versionOpsview == 1) {
+ request.open("GET",url,true);
+ } else {
+ request.open("GET",url,true,server.username,server.password);
+ }
var requestTimer = setTimeout(function() {
request.abort();
}, this.timeout*1000); //pulminuty
@@ -211,17 +234,17 @@
- downloadStatus: function(url,username,password,callback) {
+ downloadStatus: function(url,server,callback) {
var mainUri = parseUri(url);
if (mainUri.path=="") {
url+="/";
}
var me = this;
- this.loadDataAsync(url,username,password,true,function (doc1) {
+ this.loadDataAsync(url,server,true,function (doc1) {
var nuvola = me.parseNuvolaJs(doc1,url);
if (nuvola!="") {
- me.loadDataAsync(nuvola,username,password,true,function(par) {
+ me.loadDataAsync(nuvola,server,true,function(par) {
var urlst = me.parseNuvolaJsStatus(par,url);
callback(urlst);
},false);
@@ -230,7 +253,7 @@
var side = me.parseFrame(doc1,url);
if (side!="") {
- me.loadDataAsync(side,username,password,true,function(par) {
+ me.loadDataAsync(side,server,true,function(par) {
var urlst = me.parseSide(par,url,side);
callback(urlst);
},false);
@@ -613,4 +636,4 @@
}
}
-}
\ No newline at end of file
+}