perpage: 20,
sort: 'relevance',
filter: null,
- query:null,
+ 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]";
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);
};
}
// 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();
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 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