--- nodequeue.module	2010-02-08 19:10:49.383946700 +0100
+++ nodequeue.module_org	2010-02-08 19:02:34.235948130 +0100
@@ -1378,10 +1378,10 @@ function nodequeue_nids_visible($sqid = 
   }
   $nids_visible = array();
   if (!user_access('administer nodes', $account)) {
-    $node_status_sql = ' AND (n.status = 1 OR n.uid = %d)';
+    $node_status_sql = ' AND (n.status = 1 || n.uid = %d)';
   }
 
-  $query_restricted = db_query(db_rewrite_sql("SELECT DISTINCT(n.nid), nq.position FROM {node} n LEFT JOIN {nodequeue_nodes} nq ON nq.nid = n.nid WHERE nq.sqid = %d $node_status_sql ORDER BY nq.position $order"), $sqid, $account->uid);
+  $query_restricted = db_query(db_rewrite_sql("SELECT DISTINCT(n.nid) FROM {node} n LEFT JOIN {nodequeue_nodes} nq ON nq.nid = n.nid WHERE nq.sqid = %d $node_status_sql ORDER BY nq.position $order"), $sqid, $account->uid);
   while ($result_restricted = db_fetch_object($query_restricted)) {
     $nids_visible[$result_restricted->nid] = $result_restricted->nid;
   }
@@ -1655,7 +1655,7 @@ function nodequeue_load_queues($qids = a
 
   if (!empty($to_load)) {
     $placeholders = db_placeholders($to_load, 'int');
-    $result = db_query("SELECT q.*, (SELECT count(*) FROM {nodequeue_subqueue} s WHERE s.qid = q.qid}) AS subqueues FROM {nodequeue_queue} q WHERE q.qid IN ($placeholders)", $to_load);
+    $result = db_query("SELECT q.*, COUNT(s.sqid) AS subqueues FROM {nodequeue_queue} q LEFT JOIN {nodequeue_subqueue} s ON q.qid = s.qid WHERE q.qid IN ($placeholders) GROUP BY q.qid", $to_load);
     while ($queue = db_fetch_object($result)) {
       $loaded[$queue->qid] = $queue;
       // ensure valid defaults:
@@ -1739,7 +1739,7 @@ function nodequeue_load_subqueues($sqids
   if (!empty($to_load)) {
     $placeholders = db_placeholders($to_load, 'int');
 
-    $result = db_query("SELECT s.*, (SELECT count(n.position) FROM {nodequeue_nodes} n WHERE n.sqid = s.sqid) AS count FROM {nodequeue_subqueue} s WHERE s.sqid IN ($placeholders)", $to_load);
+    $result = db_query("SELECT s.*, COUNT(n.position) AS count FROM {nodequeue_subqueue} s LEFT JOIN {nodequeue_nodes} n ON n.sqid = s.sqid WHERE s.sqid IN ($placeholders) GROUP BY s.sqid", $to_load);
     while ($obj = db_fetch_object($result)) {
       // Sometimes we want to get to subqueues by reference, sometimes by sqid.
       // sqid is always unique, but reference is sometimes more readily available.
@@ -1792,7 +1792,7 @@ function nodequeue_load_subqueues_by_que
     return array();
   }
 
-  $query = "SELECT s.*, (SELECT count(n.position) FROM {nodequeue_nodes} n WHERE n.sqid = s.sqid) AS count FROM {nodequeue_subqueue} s WHERE s.qid IN (". db_placeholders($qids, 'int') .")";
+  $query = "SELECT s.*, COUNT(n.position) AS count FROM {nodequeue_subqueue} s LEFT JOIN {nodequeue_nodes} n ON n.sqid = s.sqid WHERE s.qid IN (". db_placeholders($qids, 'int') .") GROUP BY s.sqid";
   if ($page_size) {
     $result = pager_query($query, $page_size, 0, $qids);
   }
@@ -1859,7 +1859,7 @@ function nodequeue_load_subqueues_by_ref
       $where .= 's.qid = %d AND s.reference IN ('. implode(', ', $key_list) .')';
     }
 
-    $result = db_query("SELECT s.*, (SELECT COUNT(n.position) FROM {nodequeue_nodes} n WHERE n.sqid = s.sqid) AS count FROM {nodequeue_subqueue} s WHERE $where", $values);
+    $result = db_query("SELECT s.*, COUNT(n.position) AS count FROM {nodequeue_subqueue} s LEFT JOIN {nodequeue_nodes} n ON n.sqid = s.sqid WHERE $where GROUP BY s.sqid", $values);
 
     while ($subqueue = db_fetch_object($result)) {
       $cache[$subqueue->qid][$subqueue->reference] = $subqueues[$subqueue->sqid] = $subqueue;
@@ -2539,7 +2539,7 @@ function nodequeue_api_autocomplete($que
   $where_args = array();
   global $user;
   if (!user_access('administer nodes', $user)) {
-    $where = '(n.status = 1 OR n.uid = %d) AND ';
+    $where = '(n.status = 1 || n.uid = %d) AND ';
     $where_args = array($user->uid);
   }
   
