query:null,
recid:null
},
- state: {}
+ state: {},
+ realm: ''
};
mkdru.pz2 = new pz2( { "onshow": mkdru.pz2Show,
"showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way
- "pazpar2path": mkdru.pazpar2path,
+ "pazpar2path": mkdru.pazpar2Path,
"oninit": mkdru.pz2Init,
"onstat": mkdru.pz2Status,
"onterm": mkdru.pz2Term,
if (typeof(Drupal.settings.mkdru.query) !== "undefined") {
mkdru.state.query = Drupal.settings.mkdru.query
}
-
+ //not running against SP? init, otherwise authenticate
if (mkdru.useSessions) {
mkdru.pz2.init();
+ } else {
+ //runnin against SP
+ var user = Drupal.settings.mkdru.sp_user;
+ var pass = Drupal.settings.mkdru.sp_pass;
+ var params = {};
+ params['command'] = 'auth';
+ if (user && pass) {
+ params['action'] = 'login';
+ params['username'] = user;
+ params['password'] = pass;
+ } else {
+ params['action'] = 'ipauth';
+ }
+ var authReq = new pzHttpRequest(mkdru.pazpar2Path,
+ function (err) {
+ alert("Authentication against metasearch gateway failed: " +err);
+ }
+ );
+ authReq.get(params,
+ function (data) {
+ var s = data.getElementsByTagName('status');
+ if (s.length && Element_getTextContent(s[0]) == "OK") {
+ mkdru.realm = data.getElementsByTagName('realm');
+ mkdru.pz2Init();
+ } else {
+ alert("Malformed response when authenticating against the metasearch"
+ + " gateway");
+ }
+ }
+ );
}
- else if (mkdru.state.recid) {
+
+ //I'm not sure how this can work, it assumes the search is in a proper state?
+ if (mkdru.state.recid) {
mkdru.pz2.record(mkdru.state.recid);
}
+ //mkdru.onInit deals with this in a more proper way
else if (mkdru.state.query) {
mkdru.search();
}