--- lovehate.module	2006-06-30 21:01:50.000000000 -0400
+++ lovehate_new.module	2006-07-19 13:37:43.000000000 -0400
@@ -322,25 +322,29 @@ function lovehate_calculate_score_from_t
   return $score;
 }
 
-function lovehate_get_all_terms($precache = FALSE) {
+function lovehate_get_all_terms($precache = FALSE, $uid = NULL) {
+  if (is_null($uid)) {
+    global $user;
+    $uid = $user->uid;
+  }
   $terms = array();
   $vid = variable_get('lovehate_vocabulary', 0);
   if ($vid != 0) {
     $result = db_query('SELECT * FROM {term_data} WHERE vid = %d', $vid);
     while ($term = db_fetch_object($result)) {
-      $term->lovehate = lovehate_get_term_score($term->tid);
+      $term->lovehate = lovehate_get_term_score($term->tid, $uid);
       $terms[$term->tid] = $term;
     }
     if ($precache) {
       foreach ($terms as $tid => $term) {
-        $terms[$tid]->lovehate = lovehate_get_term_score($tid);
+        $terms[$tid]->lovehate = lovehate_get_term_score($tid, $uid);
       }
     }
   }
   return $terms;
 }
 
-function lovehate_get_term_score($tid) {
+function lovehate_get_term_score($tid, $uid = NULL) {
   $score->lovers = 0;
   $score->haters = 0;
   $score->score = 0;
@@ -359,7 +363,7 @@ function lovehate_get_term_score($tid) {
   }
   
   if (user_access('choose loves and hates')) {
-    $current_user_vote = votingapi_get_user_votes('term', $tid);
+    $current_user_vote = votingapi_get_user_votes('term', $tid, $uid);
     if (isset($current_user_vote[0])) {
       $score->current_user = $current_user_vote[0]->value;
     }
@@ -386,8 +390,9 @@ function lovehate_get_term_users($tid) {
 }
 
 function lovehate_get_user_terms($uid = 0) {
-  global $user;
+
   if ($uid == 0) {
+    global $user;
     $uid = $user->uid;
   }
 
@@ -395,7 +400,7 @@ function lovehate_get_user_terms($uid = 
   $terms->hates = array();
   $terms->other = array();
 
-  $tmp = lovehate_get_all_terms(TRUE);
+  $tmp = lovehate_get_all_terms(TRUE, $uid);
 
   foreach ($tmp as $term) {
     if ($term->lovehate->current_user == 1) {
