X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=mkdru.client.js;h=b0d8b7f98895c817789163bb8eaecad779e9192e;hb=51ac1b6ebfdc6ea011fdcf20456fa4855558dfd2;hp=add8bd1cfd3a4736d72be53dda4f42bade6cf68e;hpb=2b5e7db83479b99d46023a9e832d374f66fad453;p=mkdru-moved-to-drupal.org.git diff --git a/mkdru.client.js b/mkdru.client.js index add8bd1..b0d8b7f 100644 --- a/mkdru.client.js +++ b/mkdru.client.js @@ -33,7 +33,8 @@ var mkdru = { query:null, recid:null }, - state: {} + state: {}, + realm: '' }; @@ -78,18 +79,15 @@ mkdru.pz2Init = function () { if (mkdru.state.query) { mkdru.search(); } - //mkdru.pz2.stat(); + mkdru.pz2.stat(); //mkdru.pz2.bytarget(); }; mkdru.pz2Show = function (data) { mkdru.totalRec = data.merged; $('.mkdru-pager').html(mkdru.generatePager()); - var countsHtml = Drupal.t('Displaying: ') + (data.start + 1) + - Drupal.t(' to ') + (data.start + data.num) + Drupal.t(' of ') - + data.merged + Drupal.t(' (found: ') + data.total + ')'; - $('.mkdru-counts').html(countsHtml); - + $('.mkdru-counts').html(Drupal.theme('mkdruCounts', data.start + 1, + data.num, data.merged, data.total)); var html = ""; for (var i = 0; i < data.hits.length; i++) { html += Drupal.theme('mkdruResult', data.hits[i], @@ -108,6 +106,7 @@ mkdru.pz2Show = function (data) { }; mkdru.pz2Status = function (data) { + $('.mkdru-status').html(Drupal.theme('mkdruStatus', data.activeclients, data.clients)); }; mkdru.pz2Term = function (data) { @@ -307,7 +306,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, @@ -327,14 +326,49 @@ $(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 { + //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) { - mkdru.pz2.record(mkdru.state.recid); - } - else if (mkdru.state.query) { - mkdru.search(); - } + + //i'm not sure how this can work, does it assume the results set is active? + //what if no search has been executed? + //if (mkdru.state.recid) { + // mkdru.pz2.record(mkdru.state.recid); + //} + //'mkdru.onInit/ deals with the following properly + /// -- waiting for Pz2/SP to init first + //else if (mkdru.state.query) { + // mkdru.search(); + //} });