diff --git a/targets/cufts/js/cufts_results.js b/targets/cufts/js/cufts_results.js
index a1ec261..3620db4 100644
--- a/targets/cufts/js/cufts_results.js
+++ b/targets/cufts/js/cufts_results.js
@@ -1,22 +1,25 @@
Drupal.behaviors.roblib_search_cufts = {
- attach: function(context, settings) {
- $url = settings.roblib_search_cufts.search_url;
- jQuery.getJSON($url, function(data) {
- var items = [];
- if(data.length < 1){
- jQuery('#' + 'roblib-search-content-cufts').empty().append('No Results');
- } else {
- jQuery.each(data.journals, function(key, val) {
- items.push('
');
- items.push('
');
- items.push('
');
- });
- }
- jQuery('#' + 'roblib-search-content-cufts').empty().append(items.join(''));
+ attach: function(context, settings) {
+ url = settings.roblib_search_cufts.search_url;
+ jQuery.getJSON(url, function(data) {
+ var items = [];
+ if (data.length < 1 || data.total_count == 0) {
+ jQuery('#' + 'roblib-search-content-cufts').empty().append('No Results');
+ } else {
+ jQuery.each(data.journals, function(key, val) {
+ items.push('');
+ items.push('
');
+ items.push('
');
+ });
+ }
+ var originURL = settings.roblib_search_cufts.url;
+ var originSuffix = settings.roblib_search_cufts.suffix;
+ var newSuffix = originSuffix.replace("&format=json", "");
+ jQuery('#' + 'roblib-search-content-cufts').empty().append(items.join(''));
+ jQuery('#' + 'roblib-search-cufts-more').empty().append('see all '+data.numOfResults+' results');
});
-}
-
+ }
}
diff --git a/targets/cufts/roblib_search_cufts.module b/targets/cufts/roblib_search_cufts.module
index 7276db9..8feb3b6 100644
--- a/targets/cufts/roblib_search_cufts.module
+++ b/targets/cufts/roblib_search_cufts.module
@@ -115,7 +115,7 @@ function roblib_search_cufts_theme() {
'path' => $path . '/theme',
'file' => $file,
'template' => 'roblib-search-cufts',
- 'variables' => array('results' => NULL),
+ 'variables' => array('result'=>NULL)
)
);
}
@@ -175,17 +175,33 @@ function roblib_search_cufts_get_results($query = NULL) {
$url = variable_get('roblib_search_cufts_url', 'http://cufts2.lib.sfu.ca/CJDB/PCU/browse/show?');
$url_suffix = variable_get('roblib_search_cufts_search_suffix', 'browse_field=title&search_type=startswith&format=json&search_terms=');
$number_of_records = variable_get('roblib_search_cufts_num_results', '5');
- $search_url = $url . $url_suffix . '"' . $query . '"' . '&submit=Search&per_page='.$number_of_records;
+ $search_url = $url . $url_suffix . $query . '&submit=Search';
+ //get the total number of result
$results = drupal_http_request($search_url);
-
if ($results->code == '200') {
$output = $results->data;
}
else {
$output = $results->status_message;
}
- return $output;
+ $start_index = strpos($output,'"total_count":')+ strlen('"total_count":');
+ $end_index = strlen($output)-1;
+ $length=$end_index-$start_index;
+ $num_of_result = substr($output,$start_index,$length);
+
+ $search_url = $search_url . '&per_page='.$number_of_records;
+ $results = drupal_http_request($search_url);
+
+ if ($results->code == '200') {
+ $output = $results->data;
+ }
+ else {
+ $output = $results->status_message;
+ }
+
+ $output = str_replace('"total_count":', '"numOfResults":'.$num_of_result.',"total_count":',$output);
+ return $output;
}
/**
diff --git a/targets/cufts/theme/roblib-search-cufts.tpl.php b/targets/cufts/theme/roblib-search-cufts.tpl.php
index 2aa7539..5b47865 100644
--- a/targets/cufts/theme/roblib-search-cufts.tpl.php
+++ b/targets/cufts/theme/roblib-search-cufts.tpl.php
@@ -21,4 +21,4 @@
-Search all Journals
\ No newline at end of file
+Search all Journals
\ No newline at end of file
diff --git a/targets/cufts/theme/theme.inc b/targets/cufts/theme/theme.inc
index 7c824f0..6ce5165 100644
--- a/targets/cufts/theme/theme.inc
+++ b/targets/cufts/theme/theme.inc
@@ -18,8 +18,12 @@ function roblib_search_cufts_preprocess_roblib_search_cufts(&$variables) {
$spinner_path = $base_url . '/' . drupal_get_path('module', 'roblib_search') . '/img/'.'spinner.gif';
$variables['spinner_path'] = $spinner_path;
$search_url = $base_url .'/roblib_search/cufts/ajax/'.urlencode($query);
+
drupal_add_js(drupal_get_path('module', 'roblib_search_cufts') . '/js/cufts_results.js');
- drupal_add_js(array('roblib_search_cufts' => array('search_url' => $search_url)), array('type' => 'setting'));
+
+ $url = variable_get('roblib_search_cufts_url', 'http://cufts2.lib.sfu.ca/CJDB/PCU/browse/show?');
+ $url_suffix = variable_get('roblib_search_cufts_search_suffix', 'browse_field=title&search_type=startswith&format=json&search_terms=').$query;
+ drupal_add_js(array('roblib_search_cufts' => array('search_url' => $search_url,'url'=>$url,'suffix'=>$url_suffix)), array('type' => 'setting'));
}
?>