X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=mkdru.client.js;h=03f950715247c326c3adba90f5581486f718a14b;hb=56667175166fd1553aa05e4e2d08e1d77ea3e5ec;hp=88c09d569bd0fb254ca241b941d8c0744f235013;hpb=0f4a18a0a70bb59662ec12114ef940d443a2a405;p=mkdru-moved-to-drupal.org.git diff --git a/mkdru.client.js b/mkdru.client.js index 88c09d5..03f9507 100644 --- a/mkdru.client.js +++ b/mkdru.client.js @@ -33,11 +33,15 @@ var mkdru = { query:'', recid:null }, - state: {} + state: {}, + realm: '' }; +// Wrapper for jQuery +(function ($) { + // So we can use jQuery BBQ with Drupal 6 and its 1.2.6 jQuery if (!$.isArray) $.isArray = function(obj) { return Object.prototype.toString.call(obj) === "[object Array]"; @@ -192,7 +196,7 @@ mkdru.hashChange = function () { else { // may need to run search again to limit targets for (key in mkdru.state) { - if (key.substring(0,5) === 'limit') { + if (key.substring(0,5) === 'limit' && mkdru.state[key]) { mkdru.search(); break; } @@ -305,7 +309,7 @@ $(document).ready(function () { 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, @@ -325,14 +329,40 @@ $(document).ready(function () { 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 if (mkdru.state.recid) { - mkdru.pz2.record(mkdru.state.recid); - } - else if (mkdru.state.query) { - mkdru.search(); + } 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"); + } + } + ); } }); +})(jQuery); \ No newline at end of file