--- similar.module 2008-05-23 01:45:34.000000000 +0200 +++ similar.module 2009-07-16 09:16:09.000000000 +0200 @@ -383,11 +383,15 @@ $join_og = 'LEFT OUTER JOIN {og_ancestry} AS a on n.nid = a.nid LEFT OUTER JOIN {og_uid} AS u on a.group_nid = u.nid '; # user is member of group OR node is public (does not belong to any group) $where_og = " (u.uid = $user->uid OR a.nid is null) AND "; } - $result = db_query_range("SELECT DISTINCT r.nid, MATCH(r.body, r.title) AGAINST ('%s') AS score FROM {node_revisions} r INNER JOIN {node} n ON r.nid = n.nid AND r.vid = n.vid $join_taxonomy $join_og WHERE $where_og MATCH(r.body, r.title) AGAINST ('%s') AND n.status <> 0 AND r.nid <> %d AND n.type IN ($types) GROUP BY n.nid ORDER BY score DESC, r.vid DESC", $text, $text, $node->nid, 0, variable_get('similar_num_display', 5)); + $query = "SELECT DISTINCT n.nid, MATCH(r.body, r.title) AGAINST ('%s') AS score FROM {node_revisions} r INNER JOIN {node} n ON r.nid = n.nid AND r.vid = n.vid $join_taxonomy $join_og WHERE $where_og MATCH(r.body, r.title) AGAINST ('%s') AND n.status <> 0 AND r.nid <> %d AND n.type IN ($types) GROUP BY n.nid ORDER BY score DESC, r.vid DESC"; + + $query = db_rewrite_sql($query, 'n', 'vid'); + $result = db_query_range($query, $text, $text, $node->nid, 0, variable_get('similar_num_display', 5)); + while ($node = db_fetch_object($result)) { $content = node_load($node->nid); if ($teaser) { $items[] = '