--- biblio.pages_orig.inc 2009-05-01 10:50:59.000000000 -0400
+++ biblio.pages.inc 2009-05-06 10:46:17.000000000 -0400
@@ -99,7 +99,9 @@ function biblio_db_search() {
function biblio_build_query($arg_list) {
global $user, $db_type;
static $bcc; //biblio_contributor (bc) count , increase for every invocation
+ static $tcc; //term counter, increase for every invocation
if ( !isset( $bcc ) ) $bcc = 0;
+ if ( !isset( $tcc ) ) $tcc = 0;
$inline = $rss_info['feed'] = false;
$joins = array();
$selects = array();
@@ -144,7 +146,8 @@ function biblio_build_query($arg_list) {
switch ($sort_attrib['sort']) {
case 'type':
- $sortby = "ORDER BY bt.name %s, b.biblio_year DESC ";
+ //$sortby = "ORDER BY bt.name %s, b.biblio_year DESC ";
+ $sortby = "ORDER BY bt.name %s, $sort_title";
break;
case 'title':
//$sortby = "ORDER BY SUBSTRING(n.title,1,3) %s, b.biblio_year DESC ";
@@ -216,15 +219,16 @@ function biblio_build_query($arg_list) {
case 'term':
case 'term_id':
$term = explode("?",array_shift($arg_list));
- $joins[] = "inner join {term_node} as tn on n.vid = tn.vid";
+ $joins[] = "inner join {term_node} as tn".$tcc." on n.vid = tn".$tcc.".vid";
if ($type == 'term') {
- $joins[] = "inner join {term_data} as td on tn.tid= td.tid";
+ $joins[] = "inner join {term_data} as td on tn".$tcc.".tid= td.tid";
$where[] = "td.name = '%s' ";
}elseif ($type == 'term_id') {
- $where[] = "tn.tid = '%d' ";
+ $where[] = "tn".$tcc.".tid = '%d' ";
}
$terms[] = db_escape_string($term[0]);
array_push($args, $type, $term[0]);
+ $tcc++;
break;
case 'tg':
$term = explode("?",array_shift($arg_list));
@@ -336,7 +340,8 @@ function biblio_build_query($arg_list) {
break;
case 'type':
$term = db_escape_string(array_shift($arg_list));
- $limit .= $operator. "b.biblio_type=%d ";
+ $where[] = "b.biblio_type=%d ";
+ //$limit .= $operator. "b.biblio_type=%d ";
$terms[] = (int)$term;
array_push($args, $type, (int)$term);
$operator = NULL;
@@ -406,7 +411,6 @@ function biblio_build_query($arg_list) {
$terms[] = $sort_attrib['order']; // this is either asc or desc to be inserted into the first term of the ORDER clause
if($sort_attrib['sort'] == 'year') $terms[] = $sort_attrib['order']; // we need any extra order term when sorting by year since there are to date terms biblio_year and biblio_date
$_SESSION['last_biblio_query_terms'] = $terms;
-
return (array('query' => $query,
'query_terms' => $terms,
'count_query' => $count_query,
@@ -479,7 +483,6 @@ function biblio_show_results($result, $a
}
$count = 0;
-
while ($node = db_fetch_object($result)) {
$count++;
$node->biblio_contributors = biblio_load_contributors($node->vid);
@@ -621,12 +624,12 @@ function _biblio_filter_info_line($args)
if ($type == 'type') {
$pub_types = db_query('SELECT t.* FROM {biblio_types} as t WHERE t.tid>0');
while ($option = db_fetch_object($pub_types)) {
- $pub_type["$option->tid"] = $option->name;
+ $pub_type["$option->tid"] = ucwords($option->name);
}
$value = $pub_type["$value"];
}
array_shift($args);
- $params = array('%a' => $type , '%b' => $value );
+ $params = array('%a' => ucwords($type) , '%b' => $value );
$filtercontent .= ($i++ ? t(' and %a is %b', $params) : t('%a is %b', $params)) ;
}
if ($search_content) {
@@ -1161,4 +1164,4 @@ function _biblio_format_keyword($keyword
$format .= (user_access('administer biblio')) ? $edit_link: '';
return $format;
-}
\ No newline at end of file
+}