Merge branch 'master' of ssh://git.indexdata.com/home/git/private/mkdru
authorJason Skomorowski <jason@indexdata.com>
Wed, 9 Feb 2011 17:56:37 +0000 (18:56 +0100)
committerJason Skomorowski <jason@indexdata.com>
Wed, 9 Feb 2011 17:56:37 +0000 (18:56 +0100)
1  2 
mkdru.client.js

diff --combined mkdru.client.js
@@@ -30,10 -30,11 +30,11 @@@ var mkdru = 
      perpage: 20,
      sort: 'relevance',
      filter: null,
 -    query:null,
 +    query:'',
      recid:null
    },
-   state: {}
+   state: {},
+   realm: ''
  };
  
  
@@@ -130,8 -131,8 +131,8 @@@ mkdru.pz2ByTarget = function (data) 
  mkdru.pz2Record = function (data) {
    clearTimeout(mkdru.pz2.showTimer);
    $('.mkdru-results').hide();
 -  $('.mkdru-detail').html(Drupal.theme('mkdruDetail', data));
 -  $('.mkdru-detail-back').bind('click', function () {$.bbq.removeState('recid');});
 +  $('.mkdru-detail').html(Drupal.theme('mkdruDetail', data,
 +                                       mkdru.hashAddDelOne(null, null, 'recid')));
    $('.mkdru-detail').show();
    clearTimeout(mkdru.pz2.recordTimer);
  };
@@@ -190,7 -191,7 +191,7 @@@ mkdru.hashChange = function () 
    }
    // Other internal link
    else {
 -    // need to run search again to limit targets
 +    // may need to run search again to limit targets
      for (key in mkdru.state) {
        if (key.substring(0,5) === 'limit') {
          mkdru.search();
@@@ -305,7 -306,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,
    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();
+   //}
  });